Modding: větší rozlišení OpenGL her pro iPhone 4

Michal Žďánský 29. Říjen, 2010 3

Vítejte v prvním díle seriálu věnovanému moddingu, tedy modifikacím v rámci iOS. Hned v úvodním díle si ukážeme, jak je možné jednoduše modifikovat grafiku některých her na nativní rozlišení iPhone 4, tzv. aby byly “retina ready”

Pokud jste hráli některou z graficky neaktualizovaných her na iPhone 4, mnohdy vás možná od samotného hraní odradil “rozpixelovaný” obraz, který zdaleka nepřináší takový herní zážitek, jako hry s označením HD, čili hry s vysokým rozlišením. Bohužel mnoho z her se pravděpodobně updatu zřejmě ani nedočká, proto si budeme muset my, uživatelé, pomoct sami. Budeme k tomu potřebovat následující věci:

  • Jailbreaknutý iPhone s iOS 4.1
  • Zpřístupnění filesystému (OpenSSH pro SSH klienty či afc2dd pro i-FunBox, obojí z Cydie)
  • Souborový manager – Total Commander s příslušným pluginem, WinSCP či i-FunBox
  • Retinasizer z Cydie

Právě poslední jmenovaná aplikace, nebo lépe řečeno tweak, je strůjcem onoho kouzla s grafikou. A co vlastně dělá? Jednoduše to, že přiměje knihovnu OpenGL, aby renderovala 3D grafiku v nativním rozlišení iPhone. Retinasizer nativně podporuje těchto sedm her, kde po nainstalování není potřeba žádných dalších modifikací (mimo PES 2010, viz níže):

  • Sonic 4 (SEGA)
  • PES 2010 (Konami)
  • Zombie Infection (Gameloft)
  • ACE Combat (Namco)
  • Tiger Woods Golf (EA)
  • Sim City Deluxe (EA)
  • Street Fighter 4 (Capcom)
  • Touch Pets: Cats (ngmoco)
  • F.A.S.T. (SGN)

Pokud byste chtěli zvýšit rozlišení u jiných her, je potřeba udělat manuálně úpravu souboru Retinasizer.plist, který najdete v adresáři /Library/MobileSubstrate/DynamicLibraries/. Postup je takový:

  1. Nejdříve je třeba zjistit “Bundle ID” konkrétní hry. Ten naleznete v souboru iTunesMetadata.plist, jež se nachází v adresáři User/Applications/[herní složka].app/ a dá se, stejně jako všechny ostatní soubory s touto příponou, otevřit v poznámkovém bloku. Pro lepší orientaci doporučuji použít jako filemanager i-FunBox, který umí hash (kód aplikace) převést přímo na název aplikace.
  2. Text nacházející se ve zkopírujte do schránky. Pro hru Rayman 2 vypadá text takto: com.gameloft.Rayman2.
  3. Otevřete soubor Retinasizer.plist. V kulatých závorkách se už několik údajů nachází. Za poslední z nich přidejte čárku aby vypadal třeba takto – „com.ea.pandyinc“, – za čárkou udělejte 3x odsazení tabulátorem a do vozovek vložte zkopírovaný text, takže nyní bude poslední položka v kulatých závorkách vypadat takto: “com.gameloft.Rayman2”.
  4. Změny uložte. Pokud používáte i-FunBox, je třeba Retinasizer.plist zkopírovat třeba na plochu a změněným souborem přepsat ten původní.
  5. Pokud jste udělali vše správně, měli byste po spuštění hry vidět výrazné zlepšení grafiky.


Tento postup samozřejmě nefunguje pro všechny hry, ba naopak, ve spoustě her vám tato změna může grafiku naprosto rozhodit, hra bude sekaná, případně bude špatně fungovat dotekové ovládání. Pokud se tak stane, nepanikařte, stačí pouze vymazat daný text, který jste do Retinasizer.plist vložili. Můžete tak zkoušet, které z vašich her budou 100% fungovat. Mezi správně fungujícími hrami najdete např.:

  • Rayman 2
  • Galaxy on Fire
  • Super Monkey Ball 1&2
  • Dungeon Hunter
  • Castle of Magic
  • Rally Master Pro

Na našem fóru najdete seznam fungujících her včetně potřebného “Bundle ID” a pokud sami na nějakou fungující narazili, určitě se s ní podělte ve fóru s ostatními.

Poznámka k PES 2010 – Pro tento skvělý fotbal, který momentálně naleznete v App Store za 0,79 € je třeba upravit “Bundle ID” v Retinasizer.plist, konkrétně z „com.konami.pes2010″ na „com.konami-europe.pes2010″. Po této editaci by se změna grafiky měla projevit. Ostatně nejlépe rozdíl uvidíte v následující galerii. Vlevo je původní rozlišení, vpravo pak “retinizované”.


Grafiku bychom měli, co ale udělat s tlačítky a hlavně s neostrou ikonou na Springboardu? Dozvíte se v příštím dílu…