Progress on the IGA Desktop Application

10. October 2012 14:05 by Cameron in IGA, Xbox Live  //  Tags:   //   Comments

I have the core functionality for showing friends online statuses for Xbox Live, PSN, and Steam. I've also managed to load achievement/trophy data for Xbox Live and PSN. I'm currently working on a web service for interacting with the database for displaying achievement/trophy data on user profiles.

Here's some sample data from my Xbox Live scraper:

"Name: Batman: AA GOTY" 
"Box Art: https://live.xbox.com/consoleAssets/5343080c/en-us/smallboxart.jpg" 
"Large Box Art: https://live.xbox.com/consoleAssets/5343080c/en-us/largeboxart.jpg" 
"Large Tile: http://image.xboxlive.com/global/t.5343080C/icon/0/8000" 
"Last Played: 21:01:28 10/09/2012" 
1349833405310 

"Name: Halo 2 (PC)" 
"Box Art: https://live.xbox.com/consoleAssets/4d53080f/en-us/smallboxart.jpg" 
"Large Box Art: https://live.xbox.com/consoleAssets/4d53080f/en-us/largeboxart.jpg" 
"Large Tile: http://image.xboxlive.com/global/t.4D53080F/icon/0/8000" 
"Last Played: 20:43:25 10/09/2012" 
1349716049660 

"Name: UNO" 
"Box Art: https://live.xbox.com/consoleAssets/584107f3/en-us/smallboxart.jpg" 
"Large Box Art: https://live.xbox.com/consoleAssets/584107f3/en-us/largeboxart.jpg" 
"Large Tile: http://image.xboxlive.com/global/t.584107F3/icon/0/8000" 
"Last Played: 12:07:29 10/08/2012" 
1349715952810 

"Name: Trials Evolution" 
"Box Art: https://live.xbox.com/consoleAssets/58410aad/en-us/smallboxart.jpg" 
"Large Box Art: https://live.xbox.com/consoleAssets/58410aad/en-us/largeboxart.jpg" 
"Large Tile: http://image.xboxlive.com/global/t.58410AAD/icon/0/8000" 
"Last Played: 12:05:52 10/08/2012" 
1349711554510 

"Name: Borderlands" 
"Box Art: https://live.xbox.com/consoleAssets/545407e7/en-us/smallboxart.jpg" 
"Large Box Art: https://live.xbox.com/consoleAssets/545407e7/en-us/largeboxart.jpg" 
"Large Tile: http://image.xboxlive.com/global/t.545407E7/icon/0/8000" 
"Last Played: 10:52:34 10/08/2012" 
1349711046157
"http://live.xbox.com/en-US/Activity/Details?titleId=1396901900" 
"Batman: AA GOTY" 
1342725836330 
"Name: Breaking And Entering" 
"Description: Gain access to Arkham Mansion after it is locked down by the Joker" 
"Score: 10" 
"Earned On: Thu Jul 19 14:23:56 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/V-/w-/1ICLiGJhbC9MFQUcXFBRFzBjL2FjaC8wLzgAAAAA5+fn+xD8TA==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342725356503 
"Name: Cryptic Investigator" 
"Description: Solve 10% of Riddler challenges" 
"Score: 20" 
"Earned On: Thu Jul 19 14:15:56 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/zK/WJ/1YCLiGJhbC9GCBoDG1tTWTBjL2FjaC8wLzIyAAAAAOfn5-qmpdA=.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342555171910 
"Name: Baneful Payback" 
"Description: Defeat Bane" 
"Score: 25" 
"Earned On: Tue Jul 17 14:59:31 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/We/gY/14CLiGJhbC9DFQUcXFBRFzBjL2FjaC8wLzcAAAAA5+fn+DfoQg==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342481560030 
"Name: Daydreamer" 
"Description: Survive the nightmare of the Scarecrow's fear gas" 
"Score: 10" 
"Earned On: Mon Jul 16 18:32:40 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/yh/D4/1oCLiGJhbC9CFQUcXFBRFzBjL2FjaC8wLzYAAAAA5+fn+dcQ0Q==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342480369850 
"Name: Just What The Doctors Ordered" 
"Description: Save all the doctors in Medical" 
"Score: 10" 
"Earned On: Mon Jul 16 18:12:49 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/fx/nZ/1ICLiGJhbC9BFQUcXFBRFzBjL2FjaC8wLzUAAAAA5+fn+-YZZA==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342480045567 
"Name: Arkham Analyst" 
"Description: Solve 5% of Riddler challenges" 
"Score: 20" 
"Earned On: Mon Jul 16 18:07:25 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/ea/yo/14CLiGJhbC9FCBoDG1tTWTBjL2FjaC8wLzIxAAAAAOfn5-iHrGU=.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342392092637 
"Name: Born Free" 
"Description: Escape from Intensive Treatment to the island surface" 
"Score: 10" 
"Earned On: Sun Jul 15 17:41:32 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/7O/E5/1YCLiGJhbC9AFQUcXFBRFzBjL2FjaC8wLzQAAAAA5+fn+hbh9w==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342390423820 
"Name: Freeflow Combo 10" 
"Description: Complete a combo of 10 moves (any play mode)" 
"Score: 5" 
"Earned On: Sun Jul 15 17:13:43 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/uo/-4/0YCLiGJhbC9DCxoDG1tTWTBjL2FjaC8wLzE3AAAAAOfn5-7Xj6Y=.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342384653220 
"Name: Malpractice Needs More Practice" 
"Description: Survive the onslaught from the deformed Joker henchman" 
"Score: 10" 
"Earned On: Sun Jul 15 15:37:33 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/FQ/qb/0ICLiGJhbC9HFQUcXFBRFzBjL2FjaC8wLzMAAAAA5+fn-7QKDg==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342384012453 
"Name: Leave No Man Behind" 
"Description: Rescue the guards and henchman from the Joker toxin in Decontamination" 
"Score: 10" 
"Earned On: Sun Jul 15 15:26:52 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/hv/J7/0YCLiGJhbC9GFQUcXFBRFzBjL2FjaC8wLzIAAAAA5+fn-lTynQ==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342383496733 
"Name: Shocking Rescue" 
"Description: Take down Zsasz in the Patient Pacification Chamber" 
"Score: 10" 
"Earned On: Sun Jul 15 15:18:16 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/M-/ta/04CLiGJhbC9FFQUcXFBRFzBjL2FjaC8wLzEAAAAA5+fn-HX7KA==.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
1342382893667 
"Name: Freeflow Combo 5" 
"Description: Complete a combo of 5 moves (any play mode)" 
"Score: 5" 
"Earned On: Sun Jul 15 15:08:13 2012" 
"Is Offline? false" 
"Unlocked Tile Url: https://live.xbox.com/tiles/BP/3D/0YCLiGJhbC8XCBoDG1tTWTBjL2FjaC8wLzJjAAAAAOfn5-7s-Rg=.jpg" 
"Is Unlocked? true" 
"Is Hidden? false" 
  
0 
"Name: " 
"Description: " 
"Score: 10" 
"Locked Tile Url: " 
"Is Unlocked? false" 
"Is Hidden? true" 
  
0 
"Name: " 
"Description: " 
"Score: 10" 
"Locked Tile Url: " 
"Is Unlocked? false" 
"Is Hidden? true" 
  
0 
"Name: " 
"Description: " 
"Score: 25" 
"Locked Tile Url: " 
"Is Unlocked? false" 
"Is Hidden? true" 
  
0 
"Name: " 
"Description: " 
"Score: 25" 
"Locked Tile Url: " 
"Is Unlocked? false" 
"Is Hidden? true" 
  
0 
"Name: " 
"Description: " 
"Score: 50" 
"Locked Tile Url: " 
"Is Unlocked? false" 
"Is Hidden? true" 
  
0 
"Name: " 
"Description: " 
"Score: 50" 
"Locked Tile Url: " 
"Is Unlocked? false" 
"Is Hidden? true" 
  
0 
"Name: " 
"Description: " 
"Score: 50" 
"Locked Tile Url: " 
"Is Unlocked? false" 
"Is Hidden? true" 
  
0 
"Name: Big Bang" 
"Description: Complete story mode on Easy difficulty" 
"Score: 50" 
"Locked Tile Url: https://live.xbox.com/tiles/Qz/2r/0zc8P2NhbC9ECxoDG1tTWTBjL2FjaC8wLzEwAAAAAVBQUPyEPV8=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Bigger Bang" 
"Description: Complete story mode on Normal difficulty" 
"Score: 50" 
"Locked Tile Url: https://live.xbox.com/tiles/Il/Xz/1Tc8P2NhbC8VCBoDG1tTWTBjL2FjaC8wLzJhAAAAAVBQUPrcVT4=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Biggest Bang" 
"Description: Complete story mode on Hard difficulty" 
"Score: 50" 
"Locked Tile Url: https://live.xbox.com/tiles/0M/VL/0jc8P2NhbC9FCxoDG1tTWTBjL2FjaC8wLzExAAAAAVBQUP1kxcw=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Party Pooper" 
"Description: Time to break up this party" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/Zc/xq/0Dc8P2NhbC9GCxoDG1tTWTBjL2FjaC8wLzEyAAAAAVBQUP9FzHk=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Freeflow Combo 20" 
"Description: Complete a combo of 20 moves (any play mode)" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/9j/SK/0Tc8P2NhbC9HCxoDG1tTWTBjL2FjaC8wLzEzAAAAAVBQUP6lNOo=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Freeflow Combo 40" 
"Description: Complete a combo of 40 moves (any play mode)" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/D9/8o/1Dc8P2NhbC9ACxoDG1tTWTBjL2FjaC8wLzE0AAAAAVBQUPsH3xM=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Night Glider" 
"Description: Glide continuously for over 100m" 
"Score: 5" 
"Locked Tile Url: https://live.xbox.com/tiles/nC/fI/1Tc8P2NhbC9BCxoDG1tTWTBjL2FjaC8wLzE1AAAAAVBQUPrnJ4A=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Rope-A-Dope-A-Dope" 
"Description: String up one henchman and drop him to surprise a second (any play mode)" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/Hf/I8/1zc8P2NhbC9MCBoDG1tTWTBjL2FjaC8wLzI4AAAAAVBQUPgT8gE=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Mano-A-Mano" 
"Description: Take on a beast in hand to hand combat" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/jg/rc/1jc8P2NhbC9NCBoDG1tTWTBjL2FjaC8wLzI5AAAAAVBQUPnzCpI=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Catch!" 
"Description: Catch a Batarang (any play mode)" 
"Score: 5" 
"Locked Tile Url: https://live.xbox.com/tiles/E+/Yb/1Dc8P2NhbC9DCBoDG1tTWTBjL2FjaC8wLzI3AAAAAVBQUPs05g8=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Freeflow Perfection" 
"Description: Perform a perfect combo including all of Batman's combat moves (any play mode)" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/KS/7p/1zc8P2NhbC9CCxoDG1tTWTBjL2FjaC8wLzE2AAAAAVBQUPjGLjU=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Freakshow Rodeo" 
"Description: Ride a beast and unleash its power" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/tM/Iu/1Tc8P2NhbC9MCxoDG1tTWTBjL2FjaC8wLzE4AAAAAVBQUPoBwqg=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Freeflow Bronze" 
"Description: Achieve 8 medals on combat challenges" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/-U/+Q/0zc8P2NhbC8QCBoDG1tTWTBjL2FjaC8wLzJkAAAAAVBQUPy-T+E=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Freeflow Silver" 
"Description: Achieve 16 medals on combat challenges" 
"Score: 25" 
"Locked Tile Url: https://live.xbox.com/tiles/Jz/rO/1Dc8P2NhbC9NCxoDG1tTWTBjL2FjaC8wLzE5AAAAAVBQUPvhOjs=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Freeflow Gold" 
"Description: Achieve 24 medals on combat challenges" 
"Score: 50" 
"Locked Tile Url: https://live.xbox.com/tiles/i2/Xh/1zc8P2NhbC8VCxoDG1tTWTBjL2FjaC8wLzFhAAAAAVBQUPjOZZc=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Predator Bronze" 
"Description: Achieve 8 medals on predator challenges" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/Pm/zA/1Tc8P2NhbC8WCxoDG1tTWTBjL2FjaC8wLzFiAAAAAVBQUPrvbCI=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Predator Silver" 
"Description: Achieve 16 medals on predator challenges" 
"Score: 25" 
"Locked Tile Url: https://live.xbox.com/tiles/rZ/Qg/1Dc8P2NhbC8XCxoDG1tTWTBjL2FjaC8wLzFjAAAAAVBQUPsPlLE=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Predator Gold" 
"Description: Achieve 24 medals on predator challenges" 
"Score: 50" 
"Locked Tile Url: https://live.xbox.com/tiles/VH/+C/0Tc8P2NhbC8QCxoDG1tTWTBjL2FjaC8wLzFkAAAAAVBQUP6tf0g=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Invisible Predator " 
"Description: Complete one predator challenge by using only Silent Takedowns and without being detected" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/x4/di/0Dc8P2NhbC8RCxoDG1tTWTBjL2FjaC8wLzFlAAAAAVBQUP9Nh9s=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Flawless Freeflow Fighter" 
"Description: Complete one combat challenge without taking damage" 
"Score: 10" 
"Locked Tile Url: https://live.xbox.com/tiles/co/5D/0jc8P2NhbC8SCxoDG1tTWTBjL2FjaC8wLzFmAAAAAVBQUP1sjm4=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Crack The E Nigma" 
"Description: Solve every riddle on the island" 
"Score: 20" 
"Locked Tile Url: https://live.xbox.com/tiles/6g/25/0Tc8P2NhbC9ECBoDG1tTWTBjL2FjaC8wLzIwAAAAAVBQUP6WDfY=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Lateral Thinker" 
"Description: Solve 25% of Riddler challenges" 
"Score: 20" 
"Locked Tile Url: https://live.xbox.com/tiles/br/dw/0jc8P2NhbC8RCBoDG1tTWTBjL2FjaC8wLzJlAAAAAVBQUP1ft3I=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Mystery Solver" 
"Description: Solve 40% of Riddler challenges" 
"Score: 20" 
"Locked Tile Url: https://live.xbox.com/tiles/Xw/SY/0zc8P2NhbC9HCBoDG1tTWTBjL2FjaC8wLzIzAAAAAVBQUPy3BEM=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Conundrum Cracker" 
"Description: Solve 55% of Riddler challenges" 
"Score: 20" 
"Locked Tile Url: https://live.xbox.com/tiles/pu/86/1jc8P2NhbC9ACBoDG1tTWTBjL2FjaC8wLzI0AAAAAVBQUPkV77o=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Mental Athlete" 
"Description: Solve 70% of Riddler challenges" 
"Score: 20" 
"Locked Tile Url: https://live.xbox.com/tiles/NR/fa/1zc8P2NhbC9BCBoDG1tTWTBjL2FjaC8wLzI1AAAAAVBQUPj1Fyk=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Riddle Resolver" 
"Description: Solve 85% of Riddler challenges" 
"Score: 20" 
"Locked Tile Url: https://live.xbox.com/tiles/gB/77/1Tc8P2NhbC9CCBoDG1tTWTBjL2FjaC8wLzI2AAAAAVBQUPrUHpw=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: World's Greatest Detective" 
"Description: Solve Arkham's biggest mystery" 
"Score: 20" 
"Locked Tile Url: https://live.xbox.com/tiles/l1/zS/1zc8P2NhbC8WCBoDG1tTWTBjL2FjaC8wLzJiAAAAAVBQUPj9XIs=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  
0 
"Name: Perfect Knight" 
"Description: 100% Complete" 
"Score: 75" 
"Locked Tile Url: https://live.xbox.com/tiles/27/5R/0Dc8P2NhbC8SCBoDG1tTWTBjL2FjaC8wLzJmAAAAAVBQUP9+vsc=.jpg" 
"Is Unlocked? false" 
"Is Hidden? false" 
  

Sample output for PSN:

Title:  "Uncharted 3: Drake's Deception™" 
Title Id:  39682 
NPCOMMID:  "NPWR01216_00" 
Trophies Link:  "http://uk.playstation.com/psn/mypsn/trophies/detail/?title=39682" 
Small Title Icon:  "http://uk.playstation.com/PSN_Images/psn_title_icon/small/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/11409DB013E52392A886B242E55CDB52A965C7C1.PNG" 
Medium Title Icon:  "http://uk.playstation.com/PSN_Images/psn_title_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/11409DB013E52392A886B242E55CDB52A965C7C1.PNG" 
Large Title Icon:  "http://trophy01.np.community.playstation.net/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/11409DB013E52392A886B242E55CDB52A965C7C1.PNG" 
Percent Complete:  15
"http://uk.playstation.com/psn/mypsn/trophies/detail/?title=39682" 
"Uncharted 3: Drake's Deception™" 
Trophy Id:  1 
Trophy Title:  "Platinum" 
Trophy Description:  "Platinum" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Platinum" 
Trophy Unlocked:  false 
Trophy Id:  2 
Trophy Title:  "First Treasure" 
Trophy Description:  "Find one treasure" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/B58827BD421C31061DFA07B8DD4D4B5608DEF2C1.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/B58827BD421C31061DFA07B8DD4D4B5608DEF2C1.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  3 
Trophy Title:  "Apprentice Fortune Hunter" 
Trophy Description:  "Find 20 treasures" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/C5421B020B195A808559B39DD6E5915E1EFEE6D1.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/C5421B020B195A808559B39DD6E5915E1EFEE6D1.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  4 
Trophy Title:  "Skilled Fortune Hunter" 
Trophy Description:  "Find 40 treasures" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  5 
Trophy Title:  "Adept Fortune Hunter" 
Trophy Description:  "Find 60 treasures" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  6 
Trophy Title:  "Expert Fortune Hunter" 
Trophy Description:  "Find 80 treasures" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  7 
Trophy Title:  "Master Fortune Hunter" 
Trophy Description:  "Find all 100 treasures" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  8 
Trophy Title:  "Relic Finder" 
Trophy Description:  "Find the Strange Relic" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  9 
Trophy Title:  "Survivor" 
Trophy Description:  "Defeat 75 enemies in a row without dying" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  10 
Trophy Title:  "Combat Leapfrog" 
Trophy Description:  "Defeat ten enemies in a row, alternating hand-to-hand combat and gunplay" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  11 
Trophy Title:  "20 Headshots" 
Trophy Description:  "Defeat 20 enemies with headshots" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/B48B134E9DE5B77C0BCC8ECFF3D9851127895257.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/B48B134E9DE5B77C0BCC8ECFF3D9851127895257.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  12 
Trophy Title:  "100 Headshots" 
Trophy Description:  "Defeat 100 enemies with headshots" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/58C78C4DEB1C403E851A1290E5605E71FFF26C3A.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/58C78C4DEB1C403E851A1290E5605E71FFF26C3A.PNG" 
Trophy Type:  "Silver" 
Trophy Unlocked:  true 
Trophy Id:  13 
Trophy Title:  "Headshot Expert" 
Trophy Description:  "Defeat five enemies in a row with headshots" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/4AF14C18A6A5DBF8D779CF25E98E25CB38D56531.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/4AF14C18A6A5DBF8D779CF25E98E25CB38D56531.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  14 
Trophy Title:  "Side Arm Master" 
Trophy Description:  "Defeat 30 enemies in a row with your side arm" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  15 
Trophy Title:  "Reload Master" 
Trophy Description:  "Defeat 50 enemies in a row without auto-reloading" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  16 
Trophy Title:  "Rolling Ammo Master" 
Trophy Description:  "20 times in a row, pick up ammo while rolling" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  17 
Trophy Title:  "Blindfire Marksman" 
Trophy Description:  "Defeat 20 enemies by blind-firing while in cover (without aiming with L1/R1)" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  18 
Trophy Title:  "Run-and-Gunner" 
Trophy Description:  "Defeat 20 enemies by shooting from the hip (without aiming with L1/R1)" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  19 
Trophy Title:  "Hangman" 
Trophy Description:  "Defeat 20 enemies with gunfire by aiming while hanging" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/7E6BE02BE98DB062E5C4D669C7C25B4A6B6D8311.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/7E6BE02BE98DB062E5C4D669C7C25B4A6B6D8311.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  20 
Trophy Title:  "Land Shark" 
Trophy Description:  "Defeat 20 enemies while swimming" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  21 
Trophy Title:  "30 Kills: Mag 5" 
Trophy Description:  "Defeat 30 enemies with the Mag 5" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  22 
Trophy Title:  "30 Kills: Arm Micro" 
Trophy Description:  "Defeat 30 enemies with the Arm Micro" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  23 
Trophy Title:  "30 Kills: Tau Sniper" 
Trophy Description:  "Defeat 30 enemies with the Tau Sniper" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/628FBDA7F6F4639C4B0C747A263A52A37B5EE73E.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/628FBDA7F6F4639C4B0C747A263A52A37B5EE73E.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  24 
Trophy Title:  "30 Kills: KAL 7" 
Trophy Description:  "Defeat 30 enemies with the KAL 7" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/640F35B08D561B39A03D1032CE22C34C8587E8BA.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/640F35B08D561B39A03D1032CE22C34C8587E8BA.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  25 
Trophy Title:  "30 Kills: M9" 
Trophy Description:  "Defeat 30 enemies with the M9" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/702560A3389824546C40CFA9D5D0DA003DF944A9.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/702560A3389824546C40CFA9D5D0DA003DF944A9.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  26 
Trophy Title:  "30 Kills: G-MAL" 
Trophy Description:  "Defeat 30 enemies with the G-MAL" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/3C7713875DAB38F71F63FB5418F0963BB85298FA.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/3C7713875DAB38F71F63FB5418F0963BB85298FA.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  27 
Trophy Title:  "30 Kills: SAS - 12" 
Trophy Description:  "Defeat 30 enemies with the SAS - 12" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/306534C449A40BD3343ABD96C3E54BE808F7BD9C.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/306534C449A40BD3343ABD96C3E54BE808F7BD9C.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  28 
Trophy Title:  "30 Kills: Dragon Sniper" 
Trophy Description:  "Defeat 30 enemies with the Dragon Sniper" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  29 
Trophy Title:  "30 Kills: T-Bolt Sniper" 
Trophy Description:  "Defeat 30 enemies with the T-Bolt Sniper" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/1360A461FC67B45A8175B85A6DF90DF29A37CA34.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/1360A461FC67B45A8175B85A6DF90DF29A37CA34.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  30 
Trophy Title:  "30 Kills: RPG - 7" 
Trophy Description:  "Defeat 30 enemies with the RPG - 7" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  31 
Trophy Title:  "30 Kills: PAK-80" 
Trophy Description:  "Defeat 30 enemies with the PAK-80" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  32 
Trophy Title:  "30 Kills: Mk-NDI" 
Trophy Description:  "Defeat 30 enemies with the Mk-NDI" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/843D1DEE8F3B3B0369F1D6D70D0FE3E2050DA48D.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/843D1DEE8F3B3B0369F1D6D70D0FE3E2050DA48D.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  33 
Trophy Title:  "Pro-pain" 
Trophy Description:  "Defeat ten enemies with propane or acetylene tank explosions" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  34 
Trophy Title:  "Dyno-Might Master" 
Trophy Description:  "Defeat four enemies with one explosion" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  35 
Trophy Title:  "Grenade Hangman" 
Trophy Description:  "Defeat ten enemies with grenades by aiming while hanging" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  36 
Trophy Title:  "Drop the Bomb Hotshot" 
Trophy Description:  "Make five enemies drop their grenade by shooting them" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/6AE2F2CCD3B1520526F97035B9EFEC6EE0FEE2F4.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/6AE2F2CCD3B1520526F97035B9EFEC6EE0FEE2F4.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  37 
Trophy Title:  "Throwback" 
Trophy Description:  "Kill 10 enemies with thrown-back grenades" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  38 
Trophy Title:  "Throwback Master" 
Trophy Description:  "Throw back a grenade and defeat two enemies at once" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  39 
Trophy Title:  "Bare-knuckle Brawler" 
Trophy Description:  "Defeat 20 enemies with hand-to-hand combat" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/76187DCA788543248FA52C9790FA0DBE2B9B16F0.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/76187DCA788543248FA52C9790FA0DBE2B9B16F0.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  40 
Trophy Title:  "Bare-knuckle Slugger" 
Trophy Description:  "Defeat 50 enemies with hand-to-hand combat" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/9C4731FC1011D294DE59373474B14E8D2C969199.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/9C4731FC1011D294DE59373474B14E8D2C969199.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  41 
Trophy Title:  "Master Ninja" 
Trophy Description:  "Defeat 50 enemies with stealth attacks" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  42 
Trophy Title:  "Expert Ninja" 
Trophy Description:  "Defeat five enemies in a row using stealth attacks" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  43 
Trophy Title:  "Riot Rocker" 
Trophy Description:  "Defeat five Riot Shield enemies by running over their shield" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  44 
Trophy Title:  "Brute Beater" 
Trophy Description:  "Successfully counter all of a Brute’s damage-giving attacks" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/966A93EC966031B4219A69EB9E2D22601CC40BA8.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/966A93EC966031B4219A69EB9E2D22601CC40BA8.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  45 
Trophy Title:  "Quick Study" 
Trophy Description:  "Inspect almost every display case in the Cartagena Museum" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  46 
Trophy Title:  "Ride the Crocodile" 
Trophy Description:  "Stand on the crocodile in the Secret Library" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  47 
Trophy Title:  "He's Gonna Need a Sturgeon" 
Trophy Description:  "Hit three enemies with fish in the market" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  48 
Trophy Title:  "Marco Solo" 
Trophy Description:  "Play in the swimming pool on the Cruise Ship" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  49 
Trophy Title:  "Truck Brawler" 
Trophy Description:  "Defeat ten enemies using hand-to-hand combat on the back of the convoy trucks" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  50 
Trophy Title:  "Charted! - Easy" 
Trophy Description:  "Finish the game in Easy Mode" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/679C66F4F20473B8C8250EDAB52B5DF21CFE72A6.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/679C66F4F20473B8C8250EDAB52B5DF21CFE72A6.PNG" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  true 
Trophy Id:  51 
Trophy Title:  "Charted! - Normal" 
Trophy Description:  "Finish the game in Normal Mode" 
Trophy Medium Image:  "http://uk.playstation.com/PSN_Images/psn_trophy_icon/medium/trophy/np/NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/15A247A74266E0B942BFA6DADBADC6433C11164D.PNG" 
Trophy Large Image:  "http://trophy01.np.community.playstation.net/trophy/np//NPWR01216_00_8AE11CE82D772A304AB1111502B3E16813EF12D9/15A247A74266E0B942BFA6DADBADC6433C11164D.PNG" 
Trophy Type:  "Silver" 
Trophy Unlocked:  true 
Trophy Id:  52 
Trophy Title:  "Charted! - Hard" 
Trophy Description:  "Finish the game in Hard Mode" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  53 
Trophy Title:  "Charted! - Crushing" 
Trophy Description:  "Finish the game in Crushing Mode" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Gold" 
Trophy Unlocked:  false 
Trophy Id:  54 
Trophy Title:  "Thrillseeker" 
Trophy Description:  "Complete one Competitive Multiplayer game" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  55 
Trophy Title:  "Buddy System" 
Trophy Description:  "Complete one Cooperative Multiplayer game" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  56 
Trophy Title:  "Treasure Domination" 
Trophy Description:  "Win a Plunder game without letting the opposing team score (5-0)" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  57 
Trophy Title:  "And Stay Down!" 
Trophy Description:  "Win 50 matches of Elimination" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  58 
Trophy Title:  "Omnipotent" 
Trophy Description:  "Complete a Co-op Adventure Map on Crushing Difficulty without losing a single life" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  59 
Trophy Title:  "All Together Now" 
Trophy Description:  "Kill the three end bosses in Chapter 5 (Harry Flynn, Eddy Raja, Zoran Lazarevic) within 20 seconds of each other on Hard" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  60 
Trophy Title:  "Air Mail" 
Trophy Description:  "Get 25 Return To Sender Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  61 
Trophy Title:  "Statuesque" 
Trophy Description:  "Get the Curator Medal while on Hard Difficulty" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  62 
Trophy Title:  "Payback is a…" 
Trophy Description:  "Get 50 Retaliation Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  63 
Trophy Title:  "Colonizer" 
Trophy Description:  "Get 50 Expansionist Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  64 
Trophy Title:  "Everyday I'm Tauntin'" 
Trophy Description:  "Get 50 In Your Face Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  65 
Trophy Title:  "How's That Taste?" 
Trophy Description:  "Get 50 Fisticuffs Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  66 
Trophy Title:  "Team Player" 
Trophy Description:  "Win 50 matches of Team Objective" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  67 
Trophy Title:  "From All Angles" 
Trophy Description:  "Get 25 Triple Threat Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  68 
Trophy Title:  "Hoarder" 
Trophy Description:  "Complete the Artifact Treasure Set" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  69 
Trophy Title:  "Look Out Below" 
Trophy Description:  "Get 10 Detonator Medals while on Hard Difficulty" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  70 
Trophy Title:  "Wild Wild West" 
Trophy Description:  "Get 50 Gunslinger Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  71 
Trophy Title:  "Eyes on the Prize" 
Trophy Description:  "Earn 3000 Objective Points" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  72 
Trophy Title:  "You're Out!" 
Trophy Description:  "Get 50 Strike Three Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  73 
Trophy Title:  "It's Good to Be King" 
Trophy Description:  "Get 50 Three Kickback King Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  74 
Trophy Title:  "Key Master" 
Trophy Description:  "Get 100 Gate Keeper Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  75 
Trophy Title:  "Hanging On" 
Trophy Description:  "Get 3 Hang In There Medals while on Hard Difficulty" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  76 
Trophy Title:  "Invincible " 
Trophy Description:  "Complete a Co-op Arena Map on Crushing Difficulty without losing a single life" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  77 
Trophy Title:  "Two by Two" 
Trophy Description:  "Win 50 matches of Three Team Deathmatch" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  78 
Trophy Title:  "Collector" 
Trophy Description:  "Complete the Antiquity Treasure Set" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  79 
Trophy Title:  "Up Top!" 
Trophy Description:  "Get 50 High Five Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  80 
Trophy Title:  "Boom Goes the Dynamite" 
Trophy Description:  "Get 50 Frag ‘Em Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  81 
Trophy Title:  "Overpowered" 
Trophy Description:  "Get 50 Power Killer Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  82 
Trophy Title:  "I Think You Dropped This" 
Trophy Description:  "Get 25 Here, Hold This Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  83 
Trophy Title:  "Detonator" 
Trophy Description:  "Get 10 Mad Bomber Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  84 
Trophy Title:  "We Can Kill It" 
Trophy Description:  "Get 25 If It Bleeds… Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  85 
Trophy Title:  "Pop Top" 
Trophy Description:  "Get 100 In The Soft Spot Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  86 
Trophy Title:  "Treasure Collector" 
Trophy Description:  "Win 50 matches of Plunder" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  87 
Trophy Title:  "Overseer" 
Trophy Description:  "Get the Curator Medal while on Crushing Difficulty" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  88 
Trophy Title:  "Unstoppable" 
Trophy Description:  "Get the Unyielding Medal while on Crushing Difficulty" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  89 
Trophy Title:  "Immortal" 
Trophy Description:  "Complete a Co-op Arena Map on Hard Difficulty without losing a single life" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  90 
Trophy Title:  "Not Afraid of the Dark" 
Trophy Description:  "Get 50 Lights Out Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  91 
Trophy Title:  "Spartan" 
Trophy Description:  "Get 150 In The Shade Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  92 
Trophy Title:  "Firefighter" 
Trophy Description:  "Get 150 Shade Survivalist Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  93 
Trophy Title:  "Capital Punishment" 
Trophy Description:  "Get 25 Executioner Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  94 
Trophy Title:  "Head Crusher" 
Trophy Description:  "Get 50 Head Hunter Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  95 
Trophy Title:  "Hold the Line" 
Trophy Description:  "Get 50 None Shall Pass Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  96 
Trophy Title:  "Triumvirate" 
Trophy Description:  "Kill the three end bosses in Chapter 5 (Harry Flynn, Eddy Raja, Zoran Lazarevic) within 20 seconds of each other on Crushing" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  97 
Trophy Title:  "Gladiator" 
Trophy Description:  "Win 50 matches of TDM" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  98 
Trophy Title:  "Fly on the Wall" 
Trophy Description:  "Get 3 Hang In There Medals while on Crushing Difficulty" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Silver" 
Trophy Unlocked:  false 
Trophy Id:  99 
Trophy Title:  "Deathless" 
Trophy Description:  "Complete a Co-op Adventure Map on Hard Difficulty without losing a single life" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  100 
Trophy Title:  "Stealth Master" 
Trophy Description:  "Get 50 Assassin Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  101 
Trophy Title:  "Looking for Loot" 
Trophy Description:  "Get 50 Three Medal Pickup Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  102 
Trophy Title:  "Long Gun Lover" 
Trophy Description:  "Get 50 Commando Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  103 
Trophy Title:  "Double Trouble" 
Trophy Description:  "Get 50 Double Down Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  104 
Trophy Title:  "Boom, Headshot!" 
Trophy Description:  "Get 50 Head Cracker Medals" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false 
Trophy Id:  105 
Trophy Title:  "I'm on a Roll" 
Trophy Description:  "Get the Unyielding Medal while on Hard Difficulty" 
Trophy Medium Image:  "http://uk.playstation.com/static/furn/portal/common/icon_trophy_padlock.gif" 
Trophy Large Image:  "http://webassets.scea.com/playstation/img/trophy_locksmall.png" 
Trophy Type:  "Bronze" 
Trophy Unlocked:  false

Qt Development on OS X Mountain Lion

1. October 2012 21:18 by Cameron in C++, Mac, Mac OS X, Qt  //  Tags: , , , , , ,   //   Comments

OS X Mountain Lion changes a few things on how XCode is installed. Xcode is now contained in an app bundle and the SDKs directory is part of the bundle contents, thus you will need to update your SDK paths in your project file like so:

MAC_SDK  = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
    if( !exists( $$MAC_SDK) ) {
        error("The selected Mac OSX SDK does not exist at $$MAC_SDK!")
    }
    QMAKE_MAC_SDK = $$MAC_SDK

If you want to support Snow Leopard as a target platform with your Qt applications, be sure to use the 10.7 SDK and not the default 10.8 SDK. Your app should work just fine in Snow Leopard provided that you don't make any calls to Lion specific features while using the 10.7 SDK.

Another important thing is to install the command line tools for GCC so that Qt can find the compiler during installation and successfully compile C/C++ applications from Qt Creator. If you do use the 10.8 SDK with any Qt version less than Qt 5.0, it will give warnings that OS X 10.8 is unsupported during compilation. These warnings can be safely ignored. Aside from that, everything else should be the same as before. Happy coding!

Windows 8 Gaming

28. September 2012 12:51 by Cameron in Windows 8  //  Tags: , , , , , , ,   //   Comments

I recently installed Windows 8 Professional x64 RTM on my MSI GT70 0ND-202US and thus far I like it. I've been trying all of my games that I purchased from Steam and so far everything I've run works quite well in Windows 8. The only game I had trouble with getting to run initially was Just Cause 2. I came across this post that shows how to fix it: http://www.jc-mp.com/forums/index.php/topic,733.msg5785.html#msg5785 If you add /dxadapter=0 to the launch options for Just Cause 2, you will no longer get an error message when launching the game.

ODBC vs RESTful API

31. August 2012 00:55 by Cameron in C++, Qt  //  Tags: , , , , , , , , , ,   //   Comments

In the process of writing the IGA desktop application, I've been faced with several design decisions. One of the most challenging decisions I had to make was how I should most effectively interact with a database backend. To help with this decision, I weighed out the pros and cons of using ODBC and a RESTful web API. Each of these methods are very good for certain purposes.

ODBC

Pros

  • Cross platform support through C/C++ libraries
  • Secure using username and password (connection encrypted)

Cons

  • Some ISPs/Schools block port 1433 (used with SQL Server) or other database ports (MySQL, Postgre, etc)
  • Slow response time in some instances (running multiple queries can take a fair amount of time)

RESTful API

Pros

  • Fast response time
  • Abstracts data backend - i.e. allows for an easy switch of database servers or switch of web server languages
  • Easily allows for multiple desktop and mobile frontends by adhering the web API interface (ODBC isn't usually standard in mobile platforms)

Cons

  • Requires tighter security
  • All requests must be encrypted using SSL or  plain text is sent to the server
  • Requires some sort of authentication either by API key or other method to prevent arbitrary access to server

Ultimately, I decided to go with using a RESTful web API for maintaining separation of the database architecture from the IGA desktop application. This will allow me to change the database backend without breaking the application as long as I keep the API interface the same. Another huge factor in choosing a RESTful web API is that my school blocks port 1433 on its campus wireless networks. I want college students to be able to use the IGA desktop application while on campus so this was a necessary choice. Overall, both provide advantages and disadvantages and neither one is "better" than the other. I hope this helps people with the decision between ODBC and a RESTful API.

MSI GT70 0ND-202US Gaming Laptop/Hackbook

28. August 2012 00:51 by Cameron in   //  Tags: , , , , , , , , ,   //   Comments

I recently bought a gaming laptop from MSI on Newegg with some pretty excellent specifications:

http://www.newegg.com/Product/Product.aspx?Item=N82E16834152347

Laptop: MSI GT70 0ND-202US Z77M, Intel Core i7-3610QM 2.3GHz, 12GB DDR3 RAM, 750GB Hitachi, 250GB WD, NVIDIA GTX 675M / Intel HD 4000 (Optimus), Realtek HD Audio (voodoohda), Wireless-N Atheros 9285 Half mini PCI  Express Card - Windows 8 Professional x64 RTM, OS X Mountain Lion 10.8.2 Retail

Preinstall

To install OS X Mountain Lion, download the Mountain Lion installer from the App Store (MacOS X 10.6.8 or higher) and use Unibeast to create a USB installation disk. Once the disk is created, you can then boot from the flash drive to install Mountain Lion! At the boot prompt, be sure to boot verbose using the '-v' option and also set 'GraphicsEnabler=No' as at the time of writing this guide, the NVIDIA GTX 675M cannot be used as the primary GPU and the Intel HD 4000 will need some tweaks later to get QE/CI. Once in the installer, you will need to choose where to install OS X Mountain Lion. You can install to your existing disk on a separate partition or install to a secondary disk (recommended). You will need to make sure that the hard drive you are installing ML to is using the GUID partitioning map and not MBR. If you need MBR, you'll need to patch the installer.

Postinstall

Multibeast

Wifi

The MSI GT70 0ND-202US comes stock with an Intel Centrino Wireless-N 2330 mini PCI Express card which will need to be subbed out with another compatible card. Swapping cards is fairly simple. All you need to do is pop up the speaker panel and disconnect the existing card and replace with the new one. One thing that you must do is make sure the Wifi LED is lit, otherwise, you won't be able to use the card. Here's a complete guide on how to choose an appropriate replacement card and how to get it working: http://www.tonymacx86.com/network/58146-guide-airport-half-mini-pcie.html

Intel HD 4000 QE/CI

Using the MacBook Pro 9,1 SMBIOS, LegacyAGPM.kext, 1920x1080x32, and DSDT injection for 01660004 you can achieve QE/CI. It should also be noted that I have removed AppleIntelSNBFramebuffer.kext as it is not needed with the Intel HD 4000 (probably could stop the kext from loading with DSDT later). Here's the DSDT patch for injecting the ig-platform-id:

into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
        Method(_DSM,4,NotSerialized)\n
        {\n
                Store(Package(0x02)\n
                 {\n
                                "AAPL,ig-platform-id",\n
                                Buffer(0x04)\n
                                {\n
                                   0x04,0x00,0x66,0x01\n
                                },\n
                        },Local0)\n
                DTGP (Arg0,Arg1,Arg2,Arg3,RefOf(Local0))\n
                Return(Local0)\n
        }\n
end


Using DSDT Editor, you'll have to apply the above patch as well as the DTGP patch from the patches directory.

Sound

VoodooHDA 2.7.2 - note, you'll have to edit the Info.plist in VoodooHDA.kext so that there isn't a hissing sound coming from the VoodooHDA prefpane. 

USB 3.0 fix (temporary)

One thing that I have found is that if you remove AppleUSBXHCI.kext from the plugins in IOUSBFamily.kext, it will treat USB 3.0 ports as just USB 2.0 ports and crashing no longer happens. This is a temporary fix until full USB 3.0 support exists (possibly in a later update). Make a backup of your existing IOUSBFamily.kext and then do the edits and re-install using Kextbeast.

Kexts

 Here's the voodoo kexts that I use for my laptop. Included is a kext for the battery, audio, and trackpad (multitouch).

voodoo_kexts.zip (212.01 kb)

 Here's my patched DSDT. As I make edits to my DSDT, I'll upload this attachment. I hope this helps for anyone with my laptop or similar.

dsdt.aml (47.02 kb)

 

 

Authenticate with ASP.NET membership provider using Qt and C++

5. July 2012 00:42 by Cameron in   //  Tags: , , , , , ,   //   Comments

Today, I was looking at a method of authenticating users in the IGA desktop application using the website's membership provider. I remembered a post I made a while back on Stack Overflow about how to authenticate users with Ignite OpenFire and in the answer, there was some Java code showing how to correctly hash a password with a salt and compare it with the membership table. I ventured into porting the algorithm to C++ and was successful! Here's the C++ code for anyone interested:

QString hashPassword(QString password, QString salt)
{

    // get utf-16 representation of password

    QByteArray passwordBytes((const char*) (password.utf16()), password.size() * 2);

    // get utf-16 representation of salt

    QByteArray saltBytes((const char*) (salt.utf16()), salt.size() * 2);

    // decode base64 salt byte array

    QByteArray saltDecodedBytes = QByteArray::fromBase64(saltBytes);

    QByteArray dst;

    dst.append(saltDecodedBytes);

    dst.append(passwordBytes);



    QByteArray hashed = QCryptographicHash::hash(dst, QCryptographicHash::Sha1);

    return QString::fromLatin1(hashed.toBase64().data());
}

Please note that in order for this to work, your passwords must be hashed. I had to convert any non-hashed passwords using an automated script that I found on Stack Overflow. It's pretty straight forward. Just add a second provider that uses hashed passwords and get the passwords from the encrypted/clear text provider and change them using the hashed provider. Be sure to set your default provider to the hashed provider so that you won't have to run this script at a later point. I had to modify the code that I found from Stack Overflow a bit to use a try catch block around the user.GetPassword() method as some passwords may already have been hashed and can't be decrypted. Here's the C# code for anyone interested:

void HashAllPasswords()
{          
	SqlMembershipProvider hashedProvider = (SqlMembershipProvider)Membership.Providers["HashedProvider"];
	SqlMembershipProvider encryptedProvider = (SqlMembershipProvider)Membership.Providers["EncryptedProvider"];
	if (encryptedProvider == null || hashedProvider == null) return;
	Dictionary<string, string> passwords = new Dictionary<string, string>();
	int unimportant;
	foreach (MembershipUser user in encryptedProvider.GetAllUsers(0, Int32.MaxValue, out unimportant))
	{
		try
		{
			passwords.Add(user.UserName, user.GetPassword());
		}
		catch (Exception e)
		{
		}
	}

	using (var conn = new SqlConnection(
		   ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString))
	{
		conn.Open();
		using (var cmd = new SqlCommand(
			   "UPDATE [aspnet_Membership] SET [PasswordFormat]=1", conn))
			cmd.ExecuteNonQuery();
	}

	foreach (var entry in passwords)
	{
		var resetPassword = hashedProvider.ResetPassword(entry.Key, null);
		hashedProvider.ChangePassword(entry.Key, resetPassword, entry.Value);
	}
}

Improving speed of iterating a result set from a QSqlQuery

4. July 2012 16:22 by Cameron in C++, Qt  //  Tags: , , , , , , , ,   //   Comments

Today, I had to figure out why it was taking so long to iterate a result set using a QSqlQuery. A query that I ran in about 1 second from SQL Server Management Studio was taking 15 seconds to complete from my C++ application. I found that if you don't set ForwardOnly to true using setForwardOnly(true), it will drastically decrease performance of iterating through the query's results. You should also prepare the query before executing. After applying those changes, I got my query to run in under a second! Huge difference! You can see an example of how to connect to a SQL Server database and query a table using the QODBC3 driver. The speed improvements should also apply to SQLite databases.

QString connectionTemplate = "DRIVER={SQL SERVER};SERVER=server;DATABASE=Users;";
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3", "db");
db.setDatabaseName(connectionTemplate);
db.setUserName("sa");
db.setPassword("password");
if (db.open()) {
	qDebug() << "OK!";
	QSqlQuery * query = new QSqlQuery(db);
	query->setForwardOnly(true);
	query->prepare("SELECT [UserName]"
				   "  FROM [dbo].[Users]");
	QTime begin = QTime::currentTime();
	if(query->exec())      {
		while(query->next())
		{
			QString userName = query->value(0).toString();
			qDebug() << userName;
		}
		QTime end = QTime::currentTime();
		qDebug() << "finished in " + QVariant(end.second() - now.second()).toString() + " seconds";
	}
	db.close();
}
else {
	qDebug() << db.lastError().text();
}

Started Development of a Collapsible Frame Qt Widget

5. May 2012 22:14 by Cameron in C++, Qt  //  Tags: , ,   //   Comments

Today, I started development of a collapsible frame Qt widget. I needed a widget that could show/hide its contents by clicking on an open/close button but couldn't find a solution online so I decided to create my own. The code is still a work in progress, but the basis of the code involves the use of nested layouts to achieve the hide/show effect. I had to write a custom clickable label class and subclass QLabel as QLabel doesn't have a clicked() signal. I'm using style sheets to apply the icon to the QLabel so that it has the correct image based on open/close and hover over states. The code is available on github under the Apache 2.0 license. Feel free to check out the code and see if you'd like to fork it yourself and contribute.

https://github.com/pcmantinker/Qt-Collapsible-Panel

Neo4j and SQL Server 2008 R2

Lately, I've been researching graph databases (NOSQL) as an alternative to traditional relational databases. The performance increase from a graph database compared to a relational database is phenomenal. To get my website rolling, I'm planning on using SQL Server 2008 R2 with the Microsoft Entity Framework. Once the data models are in place, I can then work on writing a SQL to graph database server application for migrating my data model into a graph database. There are several .NET libraries available for interfacing with Neo4j's REST API and the data migration should be trivial. My database migration tool will consist of using the Entity Framework to connect to SQL Server 2008 R2 and one of the .NET frameworks for manipulating Neo4j's REST API. I'll continue to post updates as they become available.

Qt Cross Platform Notification System

25. March 2012 16:30 by Cameron in C++, Qt  //  Tags: , , , , ,   //   Comments

I've been working on a cross-platform notification system built on Qt which is modeled after Mac OS X's Growl notification system. This is for use in a project that I'm currently working on. You may view the source code here: https://github.com/pcmantinker/Tray-Notification-System

I am still playing around with the window flags for the notification system as sometimes when a new notification is shown, within the Windows operating system, it steals focus from full screen applications. If you have any suggestions, feel free to let me know in the comments. Also, feel free to fork my repository and contribute to the code base if you're interested.

Month List

Tag cloud