前回 ジョイスティックの処理がうまく行ったと喜んでいたわけですが まあ、そんな甘い話がそうもあるわけでもなく |
OSXで動かしたところ OpenAL周りで大いに大コケしましたわ SDLだけの問題だったのですが、いじりすぎて被害拡大してしまったのですわ |
1周間程すごくなやんでいたな しかもOpenAL周りって公式サイトが数年間放置状態だった音もあり 情報がほぼ皆無に近い状態だったりするしな |
ということで、 悪戦苦闘しながら動かした話になるよ 続きを読むからどうぞ |
えと、まず Mac(OSX)でSDL2は使えません コレを使うと、もれなくXcodeが落ちます(経験済み |
この対処法は SDL1を使用すること、ですわ コレばっかりは仕方ありませんわ |
幸い、SDL2とSDL1の違いが 微々たるものなので、Windowsは2、Macは1でもさほど困らずに 動かすことが出来るぞ。一部関数は変更されているのでその辺り修正が必要だけどな |
そして、ここからがメインデッシュだよ SDLがうまく動かない時に、うっかりOpenALも最新バーションにアップデートしてしまったんだよ まさか、この行動が裏目に出るとは思いもしなかったね…… |
OpenALも最新バージョンは2.1です……が ある時点で利用規約が変わって各社独自で対応している箇所があったりするのです そこが落とし穴ですね |
公式ページ、及びそれを保存しているサイトからMac用のOpenALのフレームワークのインストーラーは 一時期前のPowerPC系のソースしか無く、 今のIntelMacを動かすことは不可能になってしまいますの |
じゃあ、どうするのってことですが、すごく簡単 デフォルトですでにインストールOpenALもはインストールされているので 何も触る必要はありません |
ただ、他のフレームワークをインストールしていると 勝手に更新されてしまうこともあるので デフォルトではいっているものをどこかに保存しておくほうが良いかもね |
で、冬月はそれを知らずにOpenALをアップデートしまったため バックアップもなく、ネットにはデータがないのでニッチもさっちも行かない状態に鳴ってしまいました この時は本当に焦りました…… |
で、一番の解決方法が OSの再セットアップ以外ありませんわ 妙子は一度、修復で戻してみましたが、戻りませんでしたわ |
ここで、(データを消したくない)冬月は悪知恵が働き 別のMacからそのデータをコピーすることを考えたんだ 幸い、買い替え前のバッテリー切れのMacBookAirはまだ手元にあったからな |
リセットしていたからやはりあったよ ただ、このままではエンドユーザー用のものなので、プレームワーク用に ちょっとイジる必要があったの |
運良くコピーしてきたOpenALのフレームワークに、 現在スカっているOpenALのヘッダーファイルをそのままコピーする必要があったんです やっている最中は自分もコレで動くとは思っていませんでした |
こんなつぎはぎなもので動くかどうか半信半疑でしたが やっとこさ動くようになりましたわ 動いたガッツポーズしてしまいましたわ |
いやはや 今回はドツボにはまってしまったな 操作方法に慣れたとはいえ、OSXはまだ不慣れな感じだ |
現在はなんとか復旧したので事なきを得ているよ 下にOpenALが変わってしまった時の対応法を書いておくね 使う人いないと思うけども |
■前提
・OpenALの更新は行わない
→インターネット上に流れているOpenALはCPUがPowerPCのMac用しか置いていないため
■もしもOpenALが変わってしまった場合
・OSの再セットアップ
→Xcodeの再インストールだけでは変わらないです
→前にも書いたようにネットに流れているOpenALは使えない
・他のOSXからOpenALのフレームワークを持ってくる(IntelCPU搭載機のOSXからのみ可能)
→エンドユーザー用のフレームワークなので少々手を入れる必要あり
→(Headerファイルを追加する必要あり、これは最新のバージョンでもOK)