SAdam Blog

Megkésett újévi fogadalom (második kiadás)

Elnézve UPi megújúlt játék–oldalait, eszembe jutott egy régi ígéretem. Csak, hogy most legyen is belőle valami, megpróbálom kicsit jobban konkretizálni, hogy ne vesszen megint a feledés homályába...

Szóval: amint letettem az utolsó vizsgámat, portoljuk az összes játékot OS X-re!!!

Hogy kicsit precízebb is legyek a fentinél, azt is konkretizálom, hogy első lépésben az elvárás az lesz, hogy a dolog Intel alapú Mac-eken, OS X 10.4 (Tiger) rendszeren fusson, és utána igyekszem megoldani, hogy PPC architektúrán, illetve más op.rendszer verziókkal is menjen a dolog (lehet amúgy, hogy ez automatikusan teljesülni fog, majd meglátjuk, hogy mit lehet kihozni az ügyből). A másik, amit konkretizálni akarok, hogy nem valami egyszerű parancssoros wrappelt izét csinálunk, amihez még "töltsd le innen ezt meg onnan azt, aztán telepítsd az xxx csomagokat és már megy is", hanem egy rendes, díszdobozba csomagolt "1 klikkel indítható" barátságos natív OS X portot gyártunk, installerrel meg mindennel, élve az XCode adta összes bájjal és gyönyörrel.

Hát, erről most egyelőre ennyit...

Utoljára módosította SAdam 2008.V.27 09:35-n
PermaLink
100%

Hozzászólások

9

UPi 2008.V.27 09:45

Jó ötlet!


SAdam 2009.I.15 04:33

Hm... Hát ebből sem lett semmi... Mondjuk tény, hogy nem olyan egyszerű a feladat, mint elsőre tűnt, de azért ciki, hogy háromnegyed év alatt nem sikerült betartani egy egyszerűnek tűnő fogadalmat...


UPi 2009.I.15 13:08

Az a baj, hogy mindig abbahagyjuk, mire kezdünk képbe kerülni...


SAdam 2009.V.23 00:47

Ma megint próbálkoztam egy sort (cca 4 óra). Kezdem azt érezni, hogy ez egy teljességgel lehetetlen feladat... :-(

(Amúgy most már a Frozen Bubble sem indul el nálam, úgy látszik, leálltak az SDL Perl fejlesztésével OS X-re.)


SAdam 2009.VII.01 22:40

MEGY A VACUUM MAGIC!!!!! MMMEEEEGGGGYYY AAAA VVVAAACCCUUUMM MMMAAGGGIIICCCCC!!!!!!!!!!!

Macintoshon, natívan!!!!

Na jó, azért ennyire még nem kell örülni, egyelőre sajnos a karakterek nem stimmolnak (gondolom, nem UTF8-ban vannak a forráskódban az ékezetes betűk), valamint egy ponton át kellett írnom a 177. sorban egy könyvtárat, meg ráadásul még nem is "igazi" application bundle, hanem csak MacPorts-on keresztül jön be, dee.....

MMMMŰŰŰŰKÖÖÖÖDDDDIIIIKKKKKKK!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


SAdam 2009.VII.01 22:42

Részleteket majd később, ha sikerül megcsinálnom a teljes MacPorts file-t hozzá...


SAdam 2009.VII.02 03:18

Na jó, most megint leállok ezzel. De legalább egy nagyon picit úgy tűnik, haladtam...

Szóval, sajnos olyan típusú szépséget, mint amilyen a Frozen-Bubble, sajnos nem tudok csinálni. Az egyetlen ember, aki tudná a módszert, nem mondja meg (még májusban megkerestem e-mailben azt, aki annak idején a Frozen-Bubblet portolta, de gyakorlatilag elhárított), és egyszerűen nem bírok rájönni, hogy hogyan csinálta. Így az olyan szépségről, mint a menü és társaik, sajnos (egyelőre) le kell mondani.

Viszont egy hibridmegoldással sikerült életet lehelni a dologba: ha az ember nem az OS X-hez alapértelmezettként kiadott Perl disztribúciót használja, és nem a hivatalos SDL könyvtárakat (amiket a libsdl.org-ról lehet letölteni), hanem mindent a MacPortsról szed össze, akkor bizony (miután lelopja UPi gépéről suttyomban a már telepített Vacuum Magicet és felpakolja a saját gépén a megfelelő könyvtárakba) igenis elindul a dolog (sőt, most már a betűk is stimmelnek, nem tudom, elsőre mi baja lehetett). Ehhez mindössze annyit kellett tennem, hogy abba a sorba, ahol a program "megtippeli", hogy hol vannak az adatok, manuálisan beszúrtam, hogy /opt/local/share/vacuum. Így most minden működik. Ráadásul sikerült csinálnom hozzá egy mini méretű wrappert is, hogy ne kelljen a terminállal bajlódni, ha az ember el akarja indítani, hanem legyen egy szép Application Bundle (amiből a felhasználó csak egy ikont lát a megfelelő helyen), és így duplakattra indul, teljes képernyőn, és gyönyörűen fut.

Már csak egy baj van: ez így sajnos csak az én gépemen fut. Ki kell most majd találnom, hogy mit csináljak, hogy ebből installer legyen (persze le lehet írni, hogy mit csináltam, és akkor azt persze más is végig tudja zongorázni a saját gépén, de az nem túl elegáns, ráadásul ha valaki csak a Vacuum Magicet akarná, akkor felesleges lenne felpakolnia még fél-egy GB cuccot a lemezére – durván ekkorára nőtt nálam a procedúra végére a MacPorts). Arról nem is beszélve, hogy jelenleg négy különböző helyen vannak azok a dolgok, amik a program futásához kellenek, ami teljesen ellentmond az Apple-programok azon filozófiájával, hogy lehetőleg minden szükséges dolog a programkönyvtárban legyen (kivéve nyilván a shared library-ket), hogy egyszerűen lehessen a programokat telepíteni/törölni/mozgatni.

Erre majd még máskor visszatérek...

(Megjegyzés: úgy tűnik, a legegyszerűbb az volna, ha valaki készítene egy megfelelő MacPorts portfile-t a Vacuum Magichez (hajrá UPi). Részletes leírás itt, a Frozen-Bubble portfile-ja példának okáért pedig itt. A portfile legfontosabb eleme – na ezért nem szívesen csinálnám én – az, hogy mik a project dependency-jei. Ha ez megvan, akkor elvileg a MacPorts képes egy kezdetleges installert csinálni hozzá. Na ez az, amihez még hozzá tudnám fűzni az a wrappert, amit a duplakattos indításhoz csináltam, és akkor kész is lennénk...)


SAdam 2009.VII.02 09:06

Itt egy másik példa működő portfile-ra: http://openmortal.darwinports.com/ :-) A vicc az, hogy ez még egy éve nem működött, de valaki frissítette idén, és most tök jól fut...


UPi 2009.VII.02 09:18

Gratsza, ügyes vagy hogy sikerült életre babusgatnod :)

Ahogy elnézem, leginkább a Frozen Bubble profiljából lenne érdemes kiindulni. A dependenciák egy az egyben ugyanazok, kivéve a port:libsdl_pango, mert azt a Vacuum Magic nem használja.

Ezek alapján a profil valami ilyesmi lehetne:

PortSystem 1.0

Name: vacuum
Category: games
Version: 0.12
Platform: darwin
Maintainers: upi

Description: Vacuum Magic
Long Description: Vacuum Magic is a fast-paced action game. The point of the game is using your magical vacuum field to collect food and defend against monsters. Food and certain monsters can also be spat out and used as a projectile against other monsters. Vacuum Magic can be played by up to six players, either cooperatively or against each other. 

Homepage: http://apocalypse.rulez.org/vacuum
Master Sites: sourceforge
distname vacuum-${version}
Checksums: sha1 XXX rmd160 YYY
use_bzip2 no

depends_lib path:bin/perl:perl5 port:libsdl port:libsdl_image port:libsdl_mixer port:p5-sdl_perl
depends_run port:p5-locale-gettext

livecheck.check freshmeat
livecheck.name vacuum

A Checksums részt nyilván újra kell generálni, valamint az ez után levő részt kitölteni...

Tagek: