cyross-ruby-miyako 2.0.0 → 2.0.5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +106 -154
- data/defines.h +144 -0
- data/{miyako_no_katana/extconf.rb → extconf.rb} +10 -0
- data/extern.h +29 -0
- data/install_miyako.rb +26 -14
- data/lib/Miyako/API/audio.rb +2 -2
- data/lib/Miyako/API/basic_data.rb +183 -41
- data/lib/Miyako/API/bitmap.rb +474 -2
- data/lib/Miyako/API/choices.rb +215 -48
- data/lib/Miyako/API/collision.rb +267 -251
- data/lib/Miyako/API/diagram.rb +58 -70
- data/lib/Miyako/API/drawing.rb +93 -52
- data/lib/Miyako/API/fixedmap.rb +233 -120
- data/lib/Miyako/API/font.rb +59 -40
- data/lib/Miyako/API/input.rb +34 -27
- data/lib/Miyako/API/layout.rb +154 -172
- data/lib/Miyako/API/map.rb +285 -159
- data/lib/Miyako/API/map_event.rb +4 -4
- data/lib/Miyako/API/modules.rb +1 -1
- data/lib/Miyako/API/movie.rb +8 -5
- data/lib/Miyako/API/parts.rb +44 -9
- data/lib/Miyako/API/plane.rb +37 -2
- data/lib/Miyako/API/screen.rb +90 -22
- data/lib/Miyako/API/shape.rb +118 -37
- data/lib/Miyako/API/sprite.rb +475 -61
- data/lib/Miyako/API/sprite_animation.rb +83 -63
- data/lib/Miyako/API/spriteunit.rb +47 -13
- data/lib/Miyako/API/story.rb +123 -47
- data/lib/Miyako/API/textbox.rb +361 -132
- data/lib/Miyako/API/utility.rb +388 -0
- data/lib/Miyako/API/viewport.rb +54 -349
- data/lib/Miyako/API/yuki.rb +570 -353
- data/lib/Miyako/EXT/miyako_cairo.rb +5 -3
- data/lib/Miyako/EXT/slides.rb +22 -1
- data/lib/Miyako/miyako.rb +12 -13
- data/logo/EGSR_logo.png +0 -0
- data/logo/EGSR_logo_bg.png +0 -0
- data/logo/EGSR_logo_fg.png +0 -0
- data/logo/EGSR_title_banner.png +0 -0
- data/logo/EGSR_title_logo.png +0 -0
- data/logo/miyako.png +0 -0
- data/logo/miyako_banner.png +0 -0
- data/logo/space.png +0 -0
- data/miyako_basicdata.c +590 -0
- data/miyako_bitmap.c +1225 -0
- data/miyako_collision.c +403 -0
- data/miyako_drawing.c +187 -0
- data/miyako_font.c +334 -0
- data/miyako_hsv.c +830 -0
- data/miyako_layout.c +191 -0
- data/miyako_no_katana.c +1074 -0
- data/miyako_transform.c +438 -0
- data/miyako_utility.c +288 -0
- data/sample/Animation1/m1ku.rb +10 -31
- data/sample/Animation1/readme.txt +6 -6
- data/sample/Animation2/lex.rb +1 -0
- data/sample/Animation2/readme.txt +6 -6
- data/sample/Diagram_sample/diagram_sample_yuki2.rb +152 -48
- data/sample/Diagram_sample/readme.txt +9 -6
- data/sample/Room3/blue.rb +234 -187
- data/sample/Room3/ending.rb +68 -63
- data/sample/Room3/green.rb +159 -124
- data/sample/Room3/main.rb +50 -32
- data/sample/Room3/main_component.rb +3 -2
- data/sample/Room3/readme.txt +6 -6
- data/sample/Room3/red.rb +161 -134
- data/sample/Room3/room3.rb +1 -0
- data/sample/Room3/title.rb +75 -62
- data/sample/ball_action_sample.rb +204 -0
- data/sample/blit_rop.rb +70 -0
- data/sample/cairo_sample.rb +25 -0
- data/sample/circle_collision_test.rb +66 -0
- data/sample/collision_test.rb +33 -0
- data/sample/collision_test2.rb +108 -0
- data/sample/fixed_map_test/fixed_map_sample.rb +23 -32
- data/sample/fixed_map_test/readme.txt +38 -38
- data/sample/map_test/chara.rb +17 -9
- data/sample/map_test/main_parts.rb +30 -9
- data/sample/map_test/main_scene.rb +57 -41
- data/sample/map_test/map_manager.rb +13 -30
- data/sample/map_test/map_test.rb +2 -2
- data/sample/map_test/oasis.rb +17 -11
- data/sample/map_test/readme.txt +50 -48
- data/sample/map_test/route.rb +46 -33
- data/sample/map_test/town.rb +19 -13
- data/sample/polygon_test.rb +35 -0
- data/sample/rasterscroll.rb +25 -0
- data/sample/takahashi.rb +42 -0
- data/sample/text.png +0 -0
- data/sample/textbox_sample.rb +190 -0
- data/sample/transform.rb +54 -0
- data/sample/utility_test.rb +73 -0
- data/sample/utility_test2.rb +61 -0
- data/sample/utility_test3.rb +64 -0
- data/sample/utility_test4.rb +73 -0
- data/uninstall_miyako.rb +19 -0
- data/win/miyako_no_katana.so +0 -0
- metadata +165 -148
- data/miyako.png +0 -0
- data/miyako_banner.png +0 -0
- data/miyako_no_katana/miyako_no_katana.c +0 -3301
- data/sample/fixed_map_test/map_sample.rb +0 -121
data/README
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
*******************************************************************************
|
2
2
|
【 作者名 】 サイロス誠
|
3
3
|
【 ソフト名 】 Interactive Media Authoring System "Miyako"
|
4
|
-
【 バージョン 】 2.0.
|
5
|
-
【 作成日 】
|
4
|
+
【 バージョン 】 2.0.5.1
|
5
|
+
【 作成日 】 2009/4/26
|
6
6
|
【 種別 】 フリーウェア
|
7
|
-
【 開発言語 】 Ruby 1.
|
8
|
-
【 ランタイム 】 Ruby 1.
|
7
|
+
【 開発言語 】 Ruby 1.9.1
|
8
|
+
【 ランタイム 】 Ruby 1.9.1~,Ruby/SDL 2.1~,SDL
|
9
9
|
【 対応機種 】 Windows 2000/XP/Vista、Linux、MacOSX
|
10
10
|
【 再配布 】 GNU LGPL 2.1に基く
|
11
11
|
【 転載 】 GNU LGPL 2.1に基く
|
@@ -70,7 +70,6 @@ Miyakoのタイトルは、以下の事柄に由来しています
|
|
70
70
|
・MPEGファイルによるムービー再生に対応
|
71
71
|
・キーボード、ジョイパッド両対応(1人プレイのみという制限付きです・・・)
|
72
72
|
・マウス対応(v1.0~)
|
73
|
-
・Stateパターン(状態遷移図のようなもの)を使用して処理の流れを記述できるDiagramProcessorクラスなど(v1.5pre6~)
|
74
73
|
・Ruby/SDLの機能が使える(ラッパークラスなので)
|
75
74
|
・Rubyの勉強に役に立つ(ハズ)
|
76
75
|
|
@@ -80,7 +79,7 @@ Miyakoのタイトルは、以下の事柄に由来しています
|
|
80
79
|
・ドキュメントが全然整っていない(リファレンスはまだまだ・・・)
|
81
80
|
→各種チュートリアルや「るびま」記事などでドキュメントを拡充する予定
|
82
81
|
|
83
|
-
【 開発環境
|
82
|
+
【 開発環境 】
|
84
83
|
|
85
84
|
<メイン開発PC>
|
86
85
|
CPU : Core2Duo E6850
|
@@ -92,8 +91,8 @@ PAD : BUFFALO BGC-FC802
|
|
92
91
|
Logicool G-UF13
|
93
92
|
OS : Microsoft WindowsXp SP3
|
94
93
|
Microsoft WindowsVista Ultimate(x64) SP1
|
95
|
-
DEV : Notepad++ v5.1
|
96
|
-
|
94
|
+
DEV : Notepad++ v5.3.1-6
|
95
|
+
mswin32版Ruby 1.9.1-p0 + Ruby/SDL 2.1
|
97
96
|
MinGW+MSYS(miyako_no_katanaビルド)
|
98
97
|
rcairo-1.8.0(miyako-cairo検証用)
|
99
98
|
|
@@ -103,10 +102,15 @@ CPU : PentiumM 1.1GHz
|
|
103
102
|
MEM : 784(256+512)MB
|
104
103
|
PAD : SANWA SUPPLY JY-P1W
|
105
104
|
OS : Microsoft WindowsXp SP3
|
106
|
-
DEV : Notepad++ v5.1
|
107
|
-
|
105
|
+
DEV : Notepad++ v5.3.1-6
|
106
|
+
mswin32版Ruby 1.9.1-p0 + Ruby/SDL 2.1
|
108
107
|
MinGW+MSYS(miyako_no_katanaビルド)
|
109
108
|
|
109
|
+
【 動作確認環境 】
|
110
|
+
|
111
|
+
上記環境に追加して、VMWarePlayer上で動作している
|
112
|
+
Ubuntu9.04(x86)+Ruby1.9.1+Ruby/SDL2.1.0で動作確認済み
|
113
|
+
|
110
114
|
【 動作環境 】
|
111
115
|
|
112
116
|
WindowsXp Home/Pro、WindowsVista、Linux、MacOSX等、Ruby/SDLが動作する環境
|
@@ -118,8 +122,8 @@ WindowsXp Home/Pro、WindowsVista、Linux、MacOSX等、Ruby/SDLが動作する
|
|
118
122
|
ビデオメモリ :8MB(32bitカラー対応、64MB以上奨励)
|
119
123
|
サウンドカード:必須(出来ればSoundBlaster Live!クラス)
|
120
124
|
|
121
|
-
Ruby1.
|
122
|
-
Ruby/SDL 2.
|
125
|
+
Ruby1.9.1以降
|
126
|
+
Ruby/SDL 2.1+対応SDLライブラリ群
|
123
127
|
(SDL、SDL_ttf、SDL_image、SDL_Mixer、SGE、smpeg)
|
124
128
|
rcairo 1.8.0以降(miyako-cairo使用時)
|
125
129
|
|
@@ -127,14 +131,13 @@ rcairo 1.8.0以降(miyako-cairo使用時)
|
|
127
131
|
|
128
132
|
アーカイブファイルを展開すると以下のファイルが展開されます。
|
129
133
|
|
130
|
-
・
|
131
|
-
・
|
132
|
-
・
|
133
|
-
・Miyako/libディレクトリ(ライブラリ本体)
|
134
|
+
・miyako.rb(Miyakoライブラリ)
|
135
|
+
・win/miyako_no_katana.so(Windows用miyako_no_katana)
|
136
|
+
・libディレクトリ(ライブラリ本体)
|
134
137
|
・miyako_no_katana/miyako_no_katana.c(miyako_no_katanaソース)
|
135
138
|
・miyako_no_katana/extconf.rb(miyako_no_katanaコンパイル用configureファイル)
|
136
139
|
・install_miyako.rb(Miyakoインストール実行ファイル)
|
137
|
-
・
|
140
|
+
・README(本ファイル)
|
138
141
|
・docディレクトリ(リファレンスマニュアル)
|
139
142
|
|
140
143
|
【 インストール 】
|
@@ -144,7 +147,7 @@ rcairo 1.8.0以降(miyako-cairo使用時)
|
|
144
147
|
1.Rubyのインストール
|
145
148
|
|
146
149
|
Linuxでは標準でRubyがインストールされていいるはずですので説明は割愛します。
|
147
|
-
なお、バージョンは最新の1.
|
150
|
+
なお、バージョンは最新の1.9系統(1.9.1以降)でお願いします。
|
148
151
|
|
149
152
|
Windowsでは、以下のサイトにあるActiveRubyのインストールをお願いします。
|
150
153
|
(詳しい説明は割愛)
|
@@ -212,7 +215,7 @@ Windowsでは、Ruby/SDLバイナリパッケージの使用をお奨めしま
|
|
212
215
|
また、sdl-configの場所を正しく指定できる様に、環境変数SDL_CONFIG_PATH(sdl-configの実行パス)のを参照しています。
|
213
216
|
ビルド前に必ず設定をお願いいたします。
|
214
217
|
|
215
|
-
(例)SDL_CONFIG_PATH='
|
218
|
+
(例)SDL_CONFIG_PATH='sdl-config'
|
216
219
|
|
217
220
|
# お手数とは思いますが、LinuxやMacOSXなどで設定した方法をフィードバックしていただけると大いに助かります。
|
218
221
|
# フィードバックは次期バージョンに反映いたします。
|
@@ -832,146 +835,95 @@ v1.5.0a(2008.07.21)
|
|
832
835
|
・Layout#round_rev2_x, round_rev2_yメソッドのバグ修正
|
833
836
|
・RDoc形式リファレンスマニュアルを修正(画像キャッシュの説明追加)
|
834
837
|
|
835
|
-
v2.0.0(
|
836
|
-
・Ruby/SDL2.
|
837
|
-
・対象Rubyランタイムを、Ruby1.
|
838
|
+
v2.0.0(2009.4.13)
|
839
|
+
・Ruby/SDL2.1準拠に変更
|
840
|
+
・対象Rubyランタイムを、Ruby1.9.1以降に変更(バージョンチェックの追加)
|
838
841
|
・各ファイルの先頭に"# -*- encoding: utf-8 -*-"を追加
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
・Font#margin_height、size_during、color_during、shadow_duringメソッドの追加
|
843
|
-
・SpriteBase#render、rect、broad_rectメソッドの追加、dp,dp=,show,hideメソッドの廃止
|
844
|
-
・SpriteBase.ox,oy,ow,ohメソッドの戻り値仕様を変更(nil→0へ変更)
|
845
|
-
・SpriteBase.to_spriteメソッドの戻り値仕様を変更(nil→selfへ変更)
|
846
|
-
・SpriteUnit構造体にprocessアクセサを追加
|
847
|
-
・SpriteUnit構造体にdx,dyアクセサを追加
|
848
|
-
・SpriteUnitFactoryクラスの追加
|
849
|
-
・Sprite#effect、effect=メソッドを廃止(Effectクラスの独立化)
|
850
|
-
・Sprite#render_to、Sprite#render_transform、Sprite#render_to_transformメソッドの追加
|
851
|
-
・Sprite#render、Sprite#render_to、Sprite#render_transform、Sprite#render_to_transformにブロックを渡すことでrender対象のSpriteUnitを調整することができる処理を追加
|
852
|
-
・Sprite.render_spriteメソッドの追加(スプライト同士の転送に対応)
|
853
|
-
・Sprite#collisionメソッドの廃止(コリジョンの独立化)
|
854
|
-
・Sprite#to_spriteメソッドの処理変更(selfを返す→複製して返す)
|
855
|
-
・Sprite#angle,angle=,xscale,xscale=,yscale,yscale=,center_x,center_x=,center_y,center_y=メソッドの追加
|
856
|
-
・Sprite#broad_rectメソッドの追加
|
857
|
-
・Sprite.newメソッドに:unitハッシュキーを追加(SpriteUnitから生成)
|
858
|
-
・Spriteクラスの各種画像変換メソッド(scale、rotate、hsvなど)を廃止
|
859
|
-
・Animation.update_animationメソッドの戻り値仕様を変更(self→falseへ変更)
|
860
|
-
・SpriteAnimation#update_animatioメソッドの戻り値仕様を変更(パターンが変更されたときtrueを返す)
|
861
|
-
・SpriteAnimation#render_toメソッドの追加
|
862
|
-
・SpriteAnimation#render、SpriteAnimation#render_toにブロックを渡すことでrender対象のSpriteUnitを調整することができる処理を追加
|
863
|
-
・SpriteAnimation#rect、broad_rectメソッドの追加
|
864
|
-
・SpriteAnimation#to_spriteメソッドの処理を変更(元になったインスタンスのto_spriteメソッドを呼び出した時の値となる)
|
865
|
-
・TextBox#marginアクセサ、TextBox#margin_duringメソッドを追加(set_marginメソッドは、ブロックを渡すと、そのブロックが評価されている間だけマージンが有効)
|
866
|
-
・TextBox#font_size_during、font_bold、font_italic、font_under_line、color_during、margin_heightメソッドを追加
|
867
|
-
(ブロックを渡すと、そのブロックが評価されている間だけフォントの属性が変更)
|
868
|
-
・Yukiモジュールの廃止(Yuki::Yuki2クラスはMiyako::Yukiクラスに変更)
|
869
|
-
・Yuki#dispose、Yuki::Manager#disposeメソッドの追加
|
870
|
-
・Yuki#selecting?、Yuki#waiting?、Yuki#pausing?メソッドの追加
|
871
|
-
・Yuki#is_scene?、Yuki#is_scenario?メソッドの追加
|
872
|
-
・Yuki#resultメソッドの追加(旧Yuki#resultメソッドはYuki#select_resultメソッドに改名)
|
873
|
-
・Yuki#renderメソッドの追加、Yuki#show、Yuki#hideメソッドインタフェースの変更
|
874
|
-
・Yuki#update、Yuki::Manager#updateメソッドの返却値を変更
|
875
|
-
(引数:デフォルトシーン名→なし
|
876
|
-
結果インスタンス→返却値無し(Yuki#result、Yuki::Manager#resultの確認で代用))
|
877
|
-
・Yuki#update_plotメソッドをYuki#updateメソッドに改名
|
878
|
-
・Yuki#plot_executing?メソッドをYuki#executing?に改名
|
879
|
-
・Yuki#canseled?メソッドの追加
|
880
|
-
・Yuki#to_plotメソッドの追加
|
881
|
-
・Yuki#resultメソッドをYuki#select_resultメソッドに改名
|
882
|
-
・Yuki#scenarioメソッドの廃止
|
883
|
-
・Yuki#get_plot_resultメソッドの廃止
|
884
|
-
・Yuki#result_is_scene?、Yuki#result_is_scenario?メソッドの廃止
|
885
|
-
・Yuki#exec_plotメソッドをYuki#start_plotメソッドに変更
|
886
|
-
・Yuki::Manager#selecting?、Yuki::Manager#waiting?、Yuki::Manager#pausing?メソッドの追加
|
887
|
-
・Yuki::Manager#canseled?メソッドの追加
|
888
|
-
・Yuki::Canseled構造体の追加(コマンドキャンセル判別用)
|
889
|
-
・Yuki::Command構造体の使用を変更(選択時画像・文字を指定するbody_selectedを追加)
|
890
|
-
・Viewportクラスの追加(viewport.rbの追加)
|
891
|
-
・Viewport#in_bounds?、in_bounds_x?、in_bounds_y?、in_bounds_ex?、in_bounds_ex_x?、in_bounds_ex_y?
|
892
|
-
round、round_x、round_y、in_bounds_rev?、in_bounds_rev_x?、in_bounds_rev_y?
|
893
|
-
round_rev、round_rev_x、round_rev_y、in_bounds_rev2?、in_bounds_rev2_x?、in_bounds_rev2_y?
|
894
|
-
round_rev2、round_rev2_x、round_rev2_yの各メソッドを追加(Layoutモジュールから移動)
|
895
|
-
・Bitmap.caceheメソッドの廃止(画像データのキャッシュの廃止)
|
896
|
-
・Bitmap.miyako_blit_aaメソッドを廃止
|
897
|
-
・Bitmap.miyako_blit_aa2メソッドをBitmap.blit_aa!メソッドに改名・インタフェース変更
|
898
|
-
・Bitmapクラスの各種画像変換メソッドの最後に!を追加(rotate, scale, transformは除く)
|
899
|
-
・Bitmap.dec_alpha!メソッドの変化率の仕様を変更(1.0・・・完全な透明、-1.0・・・完全な不透明)
|
900
|
-
・Bitmap.black_out!、Bitmap.white_out!メソッドの追加
|
901
|
-
・Bitmap.hue、Bitmap.hsvメソッドのradianパラメータをdegreeパラメータ(度単位)に変更
|
902
|
-
・Bitmap.ck_to_acメソッドの追加(特定カラーのα値をゼロにした、αチャネル付き画像を生成する。Sprite.newのカラーキー透明画像はこれに置き換えられる)
|
903
|
-
・Bitmap.normal_to_acメソッドの追加(すべての画素のα値を255にした、αチャネル付き画像を生成する。Sprite.newの未設定画像はこれに置き換えられる)
|
904
|
-
・Bitmap.scale、Bitmap.transformメソッドの高速化(拡大/縮小の係数を4096分割した整数計算(近似計算)に変更)
|
905
|
-
・Sprite#alpha/alpha=メソッドの廃止(Bitmap.dec_alphaメソッドで代用)
|
906
|
-
・Shape#takahashiメソッドのインタフェース・仕様を変更(:linesの追加、指定の行数を基準に文字サイズを計算。但し、1行の文字数が多ければそちらを優先)
|
907
|
-
・Parts#main_partsを廃止(インスタンス生成時にParts自身の大きさを指定する方式に変更)
|
908
|
-
・Parts#[]=メソッドのインタフェース変更(すべてPartsインスタンス本体へのsnapとして設定)
|
909
|
-
・Parts#broad_rect、to_spriteメソッドの追加
|
910
|
-
・Screen.updateメソッドの廃止(Screen.renderに統一)
|
911
|
-
・Screen.renderメソッドのインタフェース変更(is_clear引数の廃止)
|
912
|
-
・Screen.sizeメソッドの追加
|
913
|
-
・Screen.to_unitメソッドの追加
|
914
|
-
・Screen.center_x,center_x=,center_y,center_y=メソッドの追加
|
915
|
-
・Screen.set_sizeメソッドの仕様変更(画面の大きさを変更しても、レイアウトの自動変更は行わない)
|
916
|
-
・Screen.broad_rectメソッドの追加
|
917
|
-
・Layout#in_bounds?、in_bounds_x?、in_bounds_y?、in_bounds_ex?、in_bounds_ex_x?、in_bounds_ex_y?
|
918
|
-
round、round_x、round_y、in_bounds_rev?、in_bounds_rev_x?、in_bounds_rev_y?
|
919
|
-
round_rev、round_rev_x、round_rev_y、in_bounds_rev2?、in_bounds_rev2_x?、in_bounds_rev2_y?
|
920
|
-
round_rev2、round_rev2_x、round_rev2_yの各メソッドを廃止(Viewportクラスのインスタンスメソッドに変更)
|
921
|
-
・Storyクラスのview_inメソッド、view_outメソッドの廃止、renderメソッドの追加、描画の実装方法を変更
|
922
|
-
・LayoutSpace#broad_rectメソッドを追加
|
923
|
-
・LayoutSpace#rectメソッドがnilを返すバグを修正
|
924
|
-
・Textbox#renderメソッドのインタフェース変更(text_renderの廃止、paramsの追加)
|
925
|
-
・Textbox#columns、rows、text_size、update_animationメソッドの追加
|
926
|
-
・Textbox#broad_rect、to_spriteメソッドの追加
|
927
|
-
・Diagram::Processor#sync?メソッドの追加
|
928
|
-
・SingleEnumerable.sizeメソッドの廃止(弊害が大きいため(Sprite#sizeメソッドのバグなど)。lengthのみ用意)
|
929
|
-
・Choice#body_selected, Choice#selectedメソッドの追加(選択時に表示を変える方式を実装)
|
930
|
-
・Choices#start_choiceメソッド引数インタフェースの変更(第1引数にnilを渡すと、最後に選択した選択肢が自動的に選択される)
|
931
|
-
・Choices#non_select,selectメソッドの追加
|
932
|
-
・Choices#sizeメソッドの廃止(弊害が大きいため。lengthのみ用意)
|
933
|
-
・Choices#rect、broad_rect、to_spriteメソッドの追加
|
934
|
-
・Collision#move、Collision#move_toメソッドを追加
|
935
|
-
・Plane#rect、Plane#broad_rectメソッドの追加
|
936
|
-
・Effectクラスを廃止
|
937
|
-
・Map#update、FixedMap#updateメソッドの内容変更(MapEventのupdateは行われず、明示的に呼び出すことに注意)
|
938
|
-
・Map#render、FixedMap#renderメソッドの追加(MapEventはrenderされず、明示的に呼び出すことに注意)
|
939
|
-
・Map#view_posメソッドを廃止、Map#marginメソッドを追加
|
940
|
-
・Map#syncメソッドを廃止、Map#sync_marginメソッドを追加(margin変更後、各レイヤへ同期させるために呼び出す)
|
941
|
-
・Map#render_toメソッドの追加
|
942
|
-
・Map#render、Map#render_toにブロックを渡すことでrender対象のSpriteUnitを調整することができる処理を追加
|
943
|
-
・Map#rect、Map#broad_rectメソッドの追加
|
944
|
-
・FixedMap#render_toメソッドの追加
|
945
|
-
・FixedMap#render、FixedMap#render_toにブロックを渡すことでrender対象のSpriteUnitを調整することができる処理を追加
|
946
|
-
・FixedMap#rect、FixedMap#broad_rectメソッドの追加
|
947
|
-
・MapEvent.newメソッドのインタフェース変更
|
948
|
-
・MapEvent#initメソッドのインタフェース変更(引数として、登録もとMap/FixedMapクラスのインスタンス・マップ上の位置を取得)
|
949
|
-
・MapEvent#execメソッドをMapEvent#startメソッドに改名
|
950
|
-
・MapEvent#move、MapEvent#move_toメソッドを追加
|
951
|
-
・MapEventManagerクラスの追加。MapEvent管理(イベントIDとの関連づけ)は全マップからMap/FixedMapインスタンス単位に変更
|
952
|
-
・MiyakoTapモジュールの廃止(tapメソッドが使えるようになったため)
|
953
|
-
・drawing.rb追加
|
954
|
-
・Drawingモジュール追加(画像・画面への線形描画用)
|
955
|
-
・これにより、Spriteクラスの各種線形描画メソッドを廃止
|
956
|
-
・bitmap.rb追加(Bitmapクラスをここに移動)
|
957
|
-
・spriteunit.rb追加(SpriteUnit構造体関連をここに移動)
|
958
|
-
・choices.rb追加
|
959
|
-
・fixedmap.rb追加
|
960
|
-
・map_event.rb追加
|
961
|
-
・viewport.rb追加
|
962
|
-
・miyako_no_katanaから、SDLのサーフェスを直接アクセスする方法に変更
|
963
|
-
・idaten_miyakoとmiyako_no_katanaの統合(ライブラリはmiyako_no_katanaに統一)
|
964
|
-
・EXT/miyako_cairo.rb追加
|
965
|
-
・MiyakoCairoモジュールを追加
|
966
|
-
・MiyakoCairo.to_cairo_surface、MiyakoCairo.to_spriteメソッドの追加
|
967
|
-
・RasterScrollクラスの修正(render/render_toメソッド追加など)
|
968
|
-
・Slideの初期化方法の変更(スライド本体(背景)は、slide[:___base___]で参照可能に)
|
969
|
-
・Slide#render、render_to、update、update_animationメソッド追加
|
970
|
-
・Slide[]で利用できるテンプレートに"white","black","half-white"を追加
|
842
|
+
・グローバル変数$miyako_use_wait、$miyako_wait_time、$miyako_use_openglを追加
|
843
|
+
(フレームバッファ:32bit(赤、青、緑、αともに8bit)、デプスバッファ:32bit、ステンシルバッファ:32bit)
|
844
|
+
・メソッド群の大幅な見直し
|
971
845
|
・miyako_ext.rb削除
|
972
846
|
・install_miyaok.rbの修正(旧バージョンのディレクトリを削除、miyako_no_katanaビルド時に環境変数SDL_CONFIG_PATHを参照する様にした)
|
973
847
|
・リファレンス(RDoc)の拡充
|
974
848
|
・他、細かいバグの修正
|
975
849
|
|
850
|
+
v2.0.1(2009.4.18)
|
851
|
+
・Choices#end_choice,choicing?,move,move_toメソッドを追加
|
852
|
+
・Choices#end_select?,call_end_select_procメソッドを廃止(Choices#end_choiceメソッドに内包)
|
853
|
+
・TextBox#execute,execute?,updateメソッドを追加
|
854
|
+
・TextBox#commandメソッドのインタフェースを変更(デフォルト付き引数を2つ追加)
|
855
|
+
・引数にspriteunitを受け取れるブロックを渡すメソッド(Bitmap.blit_and等)で、ox,oyに変更を与えるとプログラムが止まる問題を修正
|
856
|
+
・Bitmap.inverseメソッドで正しく画像が転送されない問題を修正
|
857
|
+
・Choicesの各メソッドで、start_choiceで選択を開始していない時にエラーが出るバグを修正
|
858
|
+
・TextBox#create_choices_chainメソッドで、引数のto_spriteメソッドが受け持つ引数の数が0個の時の対処が行われていなかった問題を修正
|
859
|
+
・各クラスのto_spriteメソッドで、背景が透明になっていなかった問題を修正
|
860
|
+
・Sprite#and, or, xor, dec_alpha, dec_alpha!, black_out, black_out!, white_out, white_out!,
|
861
|
+
inverse, inverse!, additive, additive!, subtraction, subtraction!,
|
862
|
+
hue, hue!, saturation, saturation!, value, value!, hsv, hsv!の各メソッドに
|
863
|
+
ブロックを渡せるように修正(引数は、Bitmapクラスの各メソッドの内容と同じ)
|
864
|
+
・拡張ライブラリのMSB CPU対応コードにあったコーディングミスを修正
|
865
|
+
・サンプルblit_rop.rb、textbox_sample.rbを追加
|
866
|
+
・ドキュメントの修正
|
867
|
+
|
868
|
+
v2.0.2(2009.4.18)
|
869
|
+
・ChoicesクラスでmixinしているLayoutモジュールの適応範囲を広げる(left,right,top,bottom,move,move_toなどを利用可能に)
|
870
|
+
・Choices#leftメソッドをChoices#left_choiceメソッドに改名
|
871
|
+
(mixinしているLayoutモジュールのleftメソッドを機能させるため)
|
872
|
+
・Choices#rightメソッドをChoices#right_choiceメソッドに改名
|
873
|
+
(mixinしているLayoutモジュールのrightメソッドを機能させるため)
|
874
|
+
・Choices#upメソッドをChoices#up_choiceメソッドに改名
|
875
|
+
(left_choice,right_choiceメソッドとpostfixを統一させるため)
|
876
|
+
・Choices#downメソッドをChoices#down_choiceメソッドに改名
|
877
|
+
(left_choice,right_choiceメソッドとpostfixを統一させるため)
|
878
|
+
・Choices#broad_rectメソッドの内部処理を変更
|
879
|
+
・Choices#end_select?,call_end_select_procメソッドを廃止(Choices#end_choiceメソッドに内包)
|
880
|
+
・TextBox#execute,execute?,updateメソッドを追加
|
881
|
+
・TextBox#commandメソッドのインタフェースを変更(デフォルト付き引数を2つ追加)
|
882
|
+
・サンプルtextbox_sample.rbの修正
|
883
|
+
・ドキュメントの修正
|
884
|
+
|
885
|
+
v2.0.3(2009.4.19)
|
886
|
+
・当たり判定の計算を整数計算から実数計算に変更
|
887
|
+
・Collision.collision?、Collision.cover?メソッドでチェック漏れがあった問題を修正
|
888
|
+
・Utility.product_linerメソッドで、rect.wの値が1の時にエラーが出る問題を修正
|
889
|
+
・Sprite.clear!メソッドの追加
|
890
|
+
・Utility.product_liner_f/product_liner_by_square_f/product_position_f/product_position_by_square_fメソッドを追加
|
891
|
+
・サンプルball_action_sample.rb, utility_test3.rbを追加
|
892
|
+
・ドキュメントの修正
|
893
|
+
|
894
|
+
v2.0.4(2009.4.25->2.0.5リリースのため、リリースをスキップ)
|
895
|
+
・Windows以外のOSで、install_miyako.rbが正しく動作しない問題を修正
|
896
|
+
・CircleCollision.intervalとCircleCollision#intervalメソッドを追加
|
897
|
+
・CollisionとCircleCollisionとの当たり判定ができるように、共通のデータを持たせた
|
898
|
+
(判定処理は、レシーバのクラスに依る)
|
899
|
+
・Collision.newの引数の幅・高さが0以下の時は例外が発生するように変更
|
900
|
+
・Utility.product_liner/product_liner_by_squareの引数を、整数・実数両対応にした
|
901
|
+
(引数に実数が含まれる場合は、全て実数として処理する)
|
902
|
+
(Utility.product_liner_f/product_liner_by_square_fは、互換性のために残す)
|
903
|
+
・サンプルutility_test4.rb(utility_test.rbの実数版)、collision_test2.rbを追加
|
904
|
+
・サンプルcircle_collision_test.rbの内容を変更
|
905
|
+
・MANIFESTファイルを追加
|
906
|
+
・gemspecファイルの修正
|
907
|
+
|
908
|
+
v2.0.5(2009.4.26)
|
909
|
+
・SegmentStructクラス、Segment構造体を追加
|
910
|
+
・Rect#resizeメソッドをRect#resize_toメソッドに改名
|
911
|
+
・Rect#resizeメソッドを追加
|
912
|
+
・Viewport#resizeメソッドをViewport#resize_toメソッドに改名
|
913
|
+
・Viewport#resizeメソッドを追加
|
914
|
+
・Viewportクラスの幅・高さのエラー範囲を「マイナス」から「0以下」に変更
|
915
|
+
・Layout.segmentメソッドの追加
|
916
|
+
・Screen.segmentメソッドの追加
|
917
|
+
・Utility.in_bounds?,in_bounds_ex?,in_bounds_rev?,in_bounds_rev_ex?メソッドの引数flagのデフォルトをfalseに変更
|
918
|
+
・Utility.in_bounds_by_size?,in_bounds_ex_by_size?,in_bounds_rev_by_size?,in_bounds_rev_ex_by_size?メソッドの
|
919
|
+
引数flagのデフォルトをfalseに変更
|
920
|
+
・Segment#in_bounds?,in_bounds_ex?,in_bounds_rev?,in_bounds_rev_ex?メソッドの引数flagのデフォルトをfalseに変更
|
921
|
+
・リファレンスマニュアルの修正
|
922
|
+
・gemspecファイルの修正
|
923
|
+
(・gemを、ruby-miyako(Linux,MacOSX等)とruby-miyako-mewin32に分離)
|
924
|
+
|
925
|
+
v2.0.5.1(2009.4.26)
|
926
|
+
・アンインストールスクリプト(uninstall_miyako.rb)追加
|
927
|
+
|
976
928
|
*******************************************************************************
|
977
929
|
このReadMeファイルは「れ~どめ~えじた~」によって作成されました。
|
data/defines.h
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
/*
|
2
|
+
--
|
3
|
+
Miyako v2.0 Extend Library "Miyako no Katana"
|
4
|
+
Copyright (C) 2008 Cyross Makoto
|
5
|
+
|
6
|
+
This library is free software; you can redistribute it and/or
|
7
|
+
modify it under the terms of the GNU Lesser General Public
|
8
|
+
License as published by the Free Software Foundation; either
|
9
|
+
version 2.1 of the License, or (at your option) any later version.
|
10
|
+
|
11
|
+
This library is distributed in the hope that it will be useful,
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
Lesser General Public License for more details.
|
15
|
+
|
16
|
+
You should have received a copy of the GNU Lesser General Public
|
17
|
+
License along with this library; if not, write to the Free Software
|
18
|
+
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
++
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include <SDL.h>
|
23
|
+
#include <SDL_ttf.h>
|
24
|
+
#include <SDL_endian.h>
|
25
|
+
#include <stdlib.h>
|
26
|
+
#include <math.h>
|
27
|
+
#include "ruby.h"
|
28
|
+
#include "ruby/encoding.h"
|
29
|
+
|
30
|
+
typedef struct
|
31
|
+
{
|
32
|
+
SDL_Surface* surface;
|
33
|
+
} Surface;
|
34
|
+
|
35
|
+
typedef struct
|
36
|
+
{
|
37
|
+
Uint32 r;
|
38
|
+
Uint32 g;
|
39
|
+
Uint32 b;
|
40
|
+
Uint32 a;
|
41
|
+
} MiyakoColor;
|
42
|
+
|
43
|
+
typedef struct
|
44
|
+
{
|
45
|
+
int w;
|
46
|
+
int h;
|
47
|
+
} MiyakoSize;
|
48
|
+
|
49
|
+
typedef struct
|
50
|
+
{
|
51
|
+
VALUE unit;
|
52
|
+
SDL_Surface *surface;
|
53
|
+
SDL_PixelFormat *fmt;
|
54
|
+
SDL_Rect rect;
|
55
|
+
MiyakoColor color;
|
56
|
+
Uint32 a255;
|
57
|
+
Uint32 *ptr;
|
58
|
+
int x;
|
59
|
+
int y;
|
60
|
+
} MiyakoBitmap;
|
61
|
+
|
62
|
+
// from rubysdl.h
|
63
|
+
#define GLOBAL_DEFINE_GET_STRUCT(struct_name, fun, klass, klassstr) \
|
64
|
+
struct_name* fun(VALUE obj) \
|
65
|
+
{ \
|
66
|
+
struct_name* st; \
|
67
|
+
\
|
68
|
+
if(!rb_obj_is_kind_of(obj, klass)){ \
|
69
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (expected " klassstr ")", \
|
70
|
+
rb_obj_classname(obj)); \
|
71
|
+
} \
|
72
|
+
Data_Get_Struct(obj, struct_name, st); \
|
73
|
+
return st; \
|
74
|
+
}
|
75
|
+
|
76
|
+
#define MIYAKO_GETCOLOR(COLOR) \
|
77
|
+
COLOR.r = (Uint32)(((pixel & fmt->Rmask) >> fmt->Rshift) << fmt->Rloss); \
|
78
|
+
COLOR.g = (Uint32)(((pixel & fmt->Gmask) >> fmt->Gshift) << fmt->Gloss); \
|
79
|
+
COLOR.b = (Uint32)(((pixel & fmt->Bmask) >> fmt->Bshift) << fmt->Bloss); \
|
80
|
+
COLOR.a = (Uint32)(((pixel & fmt->Amask) >> fmt->Ashift) << fmt->Aloss);
|
81
|
+
|
82
|
+
#define MIYAKO_SETCOLOR(RESULT, COLOR) \
|
83
|
+
RESULT = (COLOR.r >> fmt->Rloss) << fmt->Rshift | \
|
84
|
+
(COLOR.g >> fmt->Gloss) << fmt->Gshift | \
|
85
|
+
(COLOR.b >> fmt->Bloss) << fmt->Bshift | \
|
86
|
+
(COLOR.a >> fmt->Aloss) << fmt->Ashift;
|
87
|
+
|
88
|
+
#define MIYAKO_SET_RECT(RECT, BASE) \
|
89
|
+
RECT.x = NUM2INT(*(RSTRUCT_PTR(BASE) + 1)); \
|
90
|
+
RECT.y = NUM2INT(*(RSTRUCT_PTR(BASE) + 2)); \
|
91
|
+
RECT.w = NUM2INT(*(RSTRUCT_PTR(BASE) + 3)); \
|
92
|
+
RECT.h = NUM2INT(*(RSTRUCT_PTR(BASE) + 4));
|
93
|
+
|
94
|
+
#define MIYAKO_INIT_RECT1 \
|
95
|
+
int dlx = drect.x + x; \
|
96
|
+
int dly = drect.y + y; \
|
97
|
+
int dmx = dlx + (srect.w < drect.w ? srect.w : drect.w); \
|
98
|
+
int dmy = dly + (srect.h < drect.h ? srect.h : drect.h);
|
99
|
+
|
100
|
+
#define MIYAKO_INIT_RECT2 \
|
101
|
+
int dlx = drect.x; \
|
102
|
+
int dly = drect.y; \
|
103
|
+
int dmx = dlx + drect.w; \
|
104
|
+
int dmy = dly + drect.h;
|
105
|
+
|
106
|
+
#define MIYAKO_INIT_RECT3 \
|
107
|
+
if(s2rect.w != drect.w){ return Qnil; } \
|
108
|
+
if(s2rect.h != drect.h){ return Qnil; } \
|
109
|
+
int x1 = NUM2INT(*(RSTRUCT_PTR(s1unit) + 5)); \
|
110
|
+
int y1 = NUM2INT(*(RSTRUCT_PTR(s1unit) + 6)); \
|
111
|
+
int x2 = NUM2INT(*(RSTRUCT_PTR(s2unit) + 5)); \
|
112
|
+
int y2 = NUM2INT(*(RSTRUCT_PTR(s2unit) + 6)); \
|
113
|
+
if(s1rect.x < 0 || s1rect.y < 0 || s2rect.x < 0 || s2rect.y < 0){ return Qnil; } \
|
114
|
+
if(s1rect.w < s2rect.w && (x1+s1rect.x+s1rect.w > s2rect.w)){ return Qnil; } \
|
115
|
+
if(s2rect.w < s1rect.w && (x2+s2rect.x+s2rect.w > s1rect.w)){ return Qnil; } \
|
116
|
+
if(s1rect.h < s2rect.h && (y1+s1rect.y+s1rect.h > s2rect.h)){ return Qnil; } \
|
117
|
+
if(s2rect.h < s1rect.h && (y2+s2rect.y+s2rect.h > s1rect.h)){ return Qnil; } \
|
118
|
+
int dlx = drect.x; \
|
119
|
+
int dly = drect.y; \
|
120
|
+
int dmx = dlx + (s1rect.w < s2rect.w ? s1rect.w : s2rect.w); \
|
121
|
+
int dmy = dly + (s1rect.h < s2rect.h ? s1rect.h : s2rect.h);
|
122
|
+
|
123
|
+
#define MIYAKO_PSET(XX,YY) \
|
124
|
+
pixel = 0; \
|
125
|
+
if(dcolor.a == 0) \
|
126
|
+
{ \
|
127
|
+
*(pdst + YY * dst->w + XX) = (scolor.r >> fmt->Rloss) << fmt->Rshift | \
|
128
|
+
(scolor.g >> fmt->Gloss) << fmt->Gshift | \
|
129
|
+
(scolor.b >> fmt->Bloss) << fmt->Bshift | \
|
130
|
+
(scolor.a >> fmt->Aloss) << fmt->Ashift; \
|
131
|
+
continue; \
|
132
|
+
} \
|
133
|
+
if(scolor.a > 0) \
|
134
|
+
{ \
|
135
|
+
int a1 = scolor.a + 1; \
|
136
|
+
int a2 = 256 - scolor.a; \
|
137
|
+
scolor.r = (scolor.r * a1 + dcolor.r * a2) >> 8; \
|
138
|
+
scolor.g = (scolor.g * a1 + dcolor.g * a2) >> 8; \
|
139
|
+
scolor.b = (scolor.b * a1 + dcolor.b * a2) >> 8; \
|
140
|
+
*(pdst + YY * dst->w + XX) = (scolor.r >> fmt->Rloss) << fmt->Rshift | \
|
141
|
+
(scolor.g >> fmt->Gloss) << fmt->Gshift | \
|
142
|
+
(scolor.b >> fmt->Bloss) << fmt->Bshift | \
|
143
|
+
(scolor.a >> fmt->Aloss) << fmt->Ashift; \
|
144
|
+
}
|