OpenHSPをmacOSに移植した。
EC2にMacインスタンスが追加されて、Mac持ってなくてもmacOS/iOS向け開発できるようになったということで盆休みの自由研究に試してみた。
Linux向けHSP3DishだとSDL使ってて、ほぼLinux依存は無いので基本的にはコンパイルオプションの変更で動作するようになった。
HGIMG4はGamePlay部分にプラットフォーム固有コードがあるのでいくらか修正。
HSEDはbrewでgtk+導入したらそのままコンパイル出来た。gtk+インストール時にlibX11も入ってるみたいだけどどういう仕組み何だろう…
git clone https://github.com/zakki/OpenHSP-fork OpenHSP
cd OpenHSP
git checkout macos
brew install glew glfw sdl2 sdl2_image sdl2_mixer sdl2_ttf gtk+
make -f makefile.macos
でLinuxやbrewに慣れてる人なら特に問題なくhsp3dish使えるはず。
TODO
- 署名してないのでバイナリ配布しづらい。
- POSIXやSDLやGamePlayの範囲を超えたプラットフォーム固有の連携はしてない。
- ARM版は依存ライブラリ込みで対応が必要そうでfatバイナリになってない。
- ソースとしてHSPLINUXにdefined(__APPLE__)で相乗りしている。あとあとを考えるとHSPMACOSに分離したほうが良さそう。
- DeprecatedなOpenGLを使ってる。Appleの言うDeprecatedが近々消すの意味なのかよく分からない。
- appを作るのにotoolとinstall_name_toolで共有ライブラリかき集めて検索パス変更してるのが正しい手順な気がしない。
EC2のMacインスタンスはセットアップや終了に数十分~1時間かかる上に課金に24時間縛りがあって1回ごとに2000円以上かかるので継続的に使うなら中古Mac miniでも買ってきたほうが良さそう。
macOS版hsp3dish出来た。 pic.twitter.com/9Wl0yGsCZz
— zakki (@k_matsuzaki) August 13, 2021
hsedは何もしてないけどそのまま動きました。 pic.twitter.com/SnG2YtUUAO
— zakki (@k_matsuzaki) August 14, 2021