Насколько зрелым является SDL для iPhone?

Некоторое время я подумывал о попытке сделать порт одной из моих любимых классических компьютерных игр, The Ur-Quan Masters (aka Star Control 2) на iPhone. UQM использует SDL для всех своих графических, звуковых, входных и других игровых материалов, и, похоже, для iPhone есть порт SDL, но на данный момент он не выглядит очень зрелым.

Кто-нибудь положил порт iPhone SDL через его шаги? Насколько хорошо это работает? Какие проблемы я могу ожидать от этого проекта, который уже является кросс-платформенным кодом для iPhone?

Если SDL не является вариантом, может ли кто-либо рекомендовать альтернативную структуру, чтобы посмотреть на это, это позволит преодолеть разрыв между SDL и родными библиотеками, такими как OpenGL ES и Core Audio? Или лучше всего подходит для этих фреймворков?

Изменить, чтобы добавить:. Здесь ссылка на форум на форуме UQM о работе с портом iPhone.

Ответ 1

UPDATE
Этот ответ действительно устарел, поэтому вы можете остановить его голосование!

Я больше не использую SDL для разработки iPhone, потому что он не подходит для модели iPhone. например SDL настаивает на том, что владеет main(), аудиоподсистема не знает об AudioSessions, трудно подбирать изменения ориентации просмотра и т.д. Приятно было видеть знакомое лицо, но в конце SDL появилось больше проблем, чем было решено.

ответ 2009
Версия svn хорошо работает для меня.

У меня была одна проблема, и это был сбой в atexit(SDL_Quit).

Итак, я отключил очистку.

Плюс имена библиотек неразумно, но вы можете это изменить.

Самая сложная часть для меня заключалась в переносе моего SDL-кода на SDL-1.3 и переносе моего OpenGL-кода в OpenGLES.

OpenGLES работает так, как вы ожидали, акселерометр отображается как 3-осевой джойстик, и звук твердый.

Я даю iPhone SDL 4.5 из возможных 5 звезд.

Ответ 2

Порт iPhone работает так, как ожидалось, и у него есть немного незавершенного чувства к нему. Как оказалось, это не так легко интегрировать с SDK, что может быть в порядке для некоторых игр, но я думаю, что большинство пользователей ожидают большего от игр сегодня, таких как социальные сети.

К счастью, с небольшим усилием вы можете использовать большую часть iPhone SDK с SDL.

См. мой учебник здесь Преодоление разрыва.

и блоги на Простые форумы DirectMedia Layer.

SDL имеет тенденцию испортить события касания в табличных представлениях, но вы можете исправить это, выполнив отдельный cfrunloop.

Производительность близка к работе с простой ванилью OpenGL.