Ugolnik's Family blog

Различные заметки обо всем.

Browsing Posts tagged Mac OS X

Нашел у себя в черновиках. Не уверен, что я этот код где-либо использовал, но для затравки сойдёт.
Object-C:

const char *path;
path = [[[NSBundle mainBundle] bundlePath] UTF8String];

Или так:

CFBundleRef bundle;
bundle = CFBundleGetMainBundle();

CFURLRef res;
res = CFBundleCopyResourcesDirectoryURL(bundle);

CFStringRef resStr;
resStr = CFURLCopyFileSystemPath(res, kCFURLPOSIXPathStyle);

char path[8192];
CFStringGetFileSystemRepresentation(resStr, path, sizeof(path));

World of Goo
Просто чумовая игра – World of Goo. Детей не оторвать, сам оторвался только после того, как прошел все, что возможно.
Жанр игры однозначно определить сложно – это и аркада, и логика. Игра завязана на законах физически. Сейчас вообще стало очень модно использовать физику в играх. Но в этой игре и реализация, и дизайн, и дух просто непередаваемы.

Игра доступна для Windows, Mac OS X, Wii, и, с недавнего времени, Linux.

Очень рекомендую!

Инструкция от Apple по созданию Framework

Не смотря на козни конкурентов, которые своими комментариями пытаются понизить интерес к игре, Between the Worlds остается на первом месте в топе паблишера iWin.

Статистика по игре на CasualCharts.com.
Список игр, отсортированных по рейтингу в общей категории на iWin.

К сожалению, пока только версия для Windows, а Mac OS X и Linux версии пока не доступны для публичного скачивания.

В ближайшее время ожидается выпуск игры еще для десятка паблишеров.

Word of Padman – FPS в игрушечно-мультяшном стиле. Есть мультиплеер, а сингла нет. Если не ошибаюсь, то игра использует движок от Quake II.
Ничего конкретного об игре сказать не могу, т.к. сам еще не играл в нее. Но игра входит в топ 100 лучших игр для Linux.
Версии для Windows, Linux, Mac OS X.

Teewars – сетевая 2D-аркада для платформ Windows, Mac OS X, Linux. Игрушка простая но весьма занимательная – ваша задача управляя “колобком” не дать ему погибнуть от руки (пистолета, гранатомета) другого колобка. При этом стараясь уничтожить противника. Колобок кроме движения вправо/влево может выстреливать не очень длинной цепью с крючком для того, что бы подняться по стене или преодолеть пропасть.
На сайте доступны исходные коды игры.

Google Performance Tools (GPT) — набор утилит, которые позволяют проводить анализ производительности программ, а также анализировать выделение памяти программами и производить поиск утечек памяти.

GPT может работать практически на всех Unix-совместимых операционных системах — Linux, FreeBSD, Solaris, Mac OS X (Darwin), включая поддержку разных процессоров1 — x86, x86_64 и PowerPC. Кроме того, tcmalloc можно скомпилировать также и для MS Windows, что позволит искать утечки памяти в программах, разработанных для этой ОС.

Полная версия статьи Google performance tools.

Статья этого же автора о Valgrind.

Не всегда удобно добавлять описание и новые файлы в репозиторий из консоли. Проводить различные операции над множеством файлов удобнее из GUI-клиента. Поиск Subversion GUI-клиента для Mac OS X привел меня к svnX.
По удобству для меня (может я просто все еще не могу привыкнуть к интерфейсу Mac OS X?) он хуже Kdesvn (Linux, KDE), и много хуже TortoiseSVN (Windows).

UPD (26.04.2008):
Subversion клиент для Mac OS X – SCPlugin. До TortoiseSVN ему еще далеко, но на мой взгляд он лучше, чем svnX.

Пришлось немного повозиться, что бы заставить работать данную связку. Итак, приступим:

  1. Из списка “Link libraries” удаляем все библиотеки. Надеюсь, в будущих версиях Code::Blocks это поправят.
  2. В “Other linker options” нужно прописать “-framework SDL -framework Cocoa -framework SDL_image -framework SDL_mixer -framework OpenGL”. Ну или те библиотеки, которые вам нужны.
  3. Добавляем к проекту два файла SDLMain.h и SDLMain.m. В свойствах файла SDLMain.m указываем “Compile file” и “Link file”.
  4. В опциях проекта снимаем галку “Strip all symbols from binary” Это параметр -s компилятора. Если этого не сделать, то при попытке запуска приложения получим ошибку:
    dyld: lazy symbol binding failed: lazy pointer not found
    dyld: lazy pointer not found
    Trace/BPT trap
  5. После компиляции можно вручную выполнить strip.
  6. Думаю, что стоит написать скрипт, который будет после компиляции автоматически делать бандл.

Полезные ссылки:

Со времен DOS наверняка многим известна игра Tyrian – отличная аркада. Сейчас найти игру с таким захватывающим геймплеем очень сложно. Разработчики открыли исходные коды (не знал, что Tyrian был написан на Turbo Pascal) и появился кроссплатформенный порт Open Tyrian. На данный момент доступны сорцы только из репозитория и архив с ресурсами из оригинальной игры.
Порт написан на C и использует SDL. Работает игра под Windows, Mac OS X, Linux, а так же на консолях PSP, GP2X, Gizmondo, GameCube, Amiga, и Nokia Internet Tablets. Лицензия GNU GPL v2.