> ы. я вообще кодеки таскаю прямо в дереве исходников k8vavoom. а потому что могу, да. а ещё чтобы у всяких дебианщиков от этого BOMBILO. хотя опции цмака для использования системных кодеков есть, конечно — но кто их тестировал-то…
Изначально я так тоже делал, но потом научил свои проекты опционально работать с системными либами:
- MixerX - аудиобиблиотека, которая собственно и делает все эти опции
https://github.com/WohlSoft/SDL-Mixer-X/- Набор аудиокодеков, туда я вынес все кодеки, которых я собираю как единый пак, и дальше с ним состыковываю MixerX и все проекты, которые его используют:
https://github.com/WohlSoft/AudioCodecsПри этом МиксерИкс у меня умеет просто искать либы в Системе, либо опционально я его заставляю качать пак AudioCodecs, и собрать себя и их, получив некий самодостаточный набор.
> да зачем так сложно: саунд-система же модульная, с авторегистрацией. добавить/убрать модуль — вопрос того, инклюдятся его исходники или нет. тут самое сложное — убедить себя начать этим заниматься. а менюшки настройки вообще в чистом тексте в базовых ресурсах.
Чего я сделал в MixerX, и что уже было в SDL_mixer, который я форкнул себе, сделав MixerX.
> всего три? ну ок, ещё пять-семь итераций — и получится что-то, что всё равно будет работать хреново, но переписывать ещё раз будет лень. всегда так пишу.
При этом, на каждой итерации я приобретал новые плюшки, которых не было на предыдущих:
- первая итерация, блоки, стоявшие друг на друге, проваливались и стояли неустойчиво, ибо Box2D старается симулировать сжатие, и автососкальзывание с наклонных поверностей, вместо того, чтобы стоять крепко, чего мне совсем не нужно, увы.
- вторая итерация, получились абсолютно твёрдые тела, как я и хотел. При этом лишился наклонных поверхностей совсем, заодно научил персонажа кататься на движущихся блоках.
- третья итерация, я получил наклонные поверности, и научил персонажа и объекты кататься друг на друге при взаимном движении, прибавляя друг другу скорости.
- четвёртая итерация, которая задумана, я хочу исправить цепь глюков, связанных с неправильной обработкой башен объектов, местами исправить логику с наклонными поверностями. Ещё решить кучу других неуклюжестей, например, что неписи могут легко выдавить друг друга, и что из-за моего костыля, которым я попытался починить неписей, персонаж может проходить сквозь неписей. И т.п.