dxruby64 1.4.7.1 → 1.4.7.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8969f30b264bb74aec40d2ca89abff5443350afa31d9eab253b625ff8f1620ce
4
- data.tar.gz: 25adaca92fdd8dde71de97b7a33130acc8d31c5cdf36825ded1aaacf28f18ee5
3
+ metadata.gz: '08d94a581f72caf876b0bb2091e2476db409abc3d2533d35f068a6bfad2001aa'
4
+ data.tar.gz: fad534cf63dbd0b2745074ff7e60d9e2472956dbdb6469912ccb3d6920d3f7ab
5
5
  SHA512:
6
- metadata.gz: d377d34e27c7a09ee0b1adce6d239ebfc9843d8b22a1a1eb3c4ad0c0f8484c660609a1dde18b8b9ca36ab593f6adf2a5f77814c8653dc339cb2d22573e4182d6
7
- data.tar.gz: eb1bdf889a6e368a8e970bd4a0585b5ea91c846a9de49961622984741187648be7911b74084a1ef17bffc29dd7c669b00c8a7066579c6722f5bd3190460b1d5d
6
+ metadata.gz: d6abd1acc491d74b2c07cc1af34b2d56a9110da011f918971de1299383c4e43f3951b19dce44309d00f2fc00fd14e77a8d27528bccf98ae9bd0f30204c1daa47
7
+ data.tar.gz: 90a4c29b14d2ed2761f99c620e749cd765dee04ad6e028ad50056ac94ef8a0800d26508276feaa50183722f5f96ec11524ec6bf4a52b2f4e7efe02908b178660
data/README-ja.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  **DXRuby64** は 64ビット版の Ruby 3.1以降用にカスタムビルドされた **DXRuby** で、Universal C Runtime(UCRT)でビルドできるように[本家DXRuby](https://github.com/mirichi/dxruby)のソースにパッチを当てたものです。DXRuby64により、64ビット版の Rubyでも DirectX9をベースにした 2Dゲームを開発できるようになります。
4
4
 
5
- **注意:** この gem は個人によって作成された非公式バージョンであり、オリジナルの DXRubyプロジェクトではメンテナンスされていません。
5
+ **注意:**
6
+ この gem は個人によって作成された非公式バージョンであり、本家DXRubyのプロジェクトでメンテナンスされているものではありません。
6
7
 
7
8
  [English README here](README.md)
8
9
 
@@ -14,6 +15,10 @@ gem をインストールするには、以下のコマンドを実行してく
14
15
  gem install dxruby64
15
16
  ```
16
17
 
18
+ **注意:**
19
+ DXRuby64の動作に影響が出る可能性がありますので、[本家DXRuby](https://github.com/mirichi/dxruby) がインストールされていない状態で上記のコマンドを実行してください。
20
+ ([本家DXRuby](https://github.com/mirichi/dxruby)は Ruby 3.1以降のバージョンには対応していないため、基本的に gemがインストールされていることはないと思われます)
21
+
17
22
  ## 使用方法
18
23
  インストール後、従来どおり DXRubyの機能を使うことができます。
19
24
 
@@ -41,13 +46,13 @@ gem contents dxruby64
41
46
  ```
42
47
 
43
48
  ## 必要条件
44
- - **Ruby 3.1 以降 (64ビット版)** が Windows にインストールされていること。
49
+ - **Ruby 3.1 以降 (64ビット版)** が Windowsにインストールされていること。
45
50
 
46
- - `d3dx9_40.dll` が必要です。これは DirectX 9 ランタイムの一部です。もしインストールされていない場合は、[Microsoft の公式サイト](https://www.microsoft.com/en-us/download/details.aspx?id=8109)からダウンロードできます。
51
+ - **`d3dx9_40.dll`** が配置されていること。これは DirectX 9 ランタイムの一部で、[Microsoft の公式サイト](https://www.microsoft.com/en-us/download/details.aspx?id=8109)からダウンロードすることができます。
47
52
 
48
- #### 【`d3dx9_40.dll` の入手方法】
53
+ #### 【`d3dx9_40.dll` の入手および配置方法】
49
54
 
50
- 1. [DirectX End-User Runtimes (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=8109) をダウンロードします。
55
+ 1. [DirectX End-User Runtimes (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=8109) に掲載されているファイル(`directx_Jun2010_redist.exe`)をダウンロードします。
51
56
 
52
57
  2. ダウンロードした `directx_Jun2010_redist.exe` をダブルクリックして、任意のディレクトリにファイルを展開します。
53
58
 
@@ -76,7 +81,8 @@ Windows 10/11 の 64bit 環境ではこの `DirectMusic` は正しく動作せ
76
81
 
77
82
  `DirectSound` の機能上の制約などから、改修に伴って以下のような仕様変更をおこないました。
78
83
 
79
- - Soundクラスで扱うことができるファイル形式は `.wav` のみ ([本家DXRuby](https://github.com/mirichi/dxruby) では `.mid` も可)
84
+ - Soundクラスで扱うことができるファイル形式は `.wav` および `.mp3`
85
+ ([本家DXRuby](https://github.com/mirichi/dxruby) では `.wav` および `.mid`)
80
86
 
81
87
  - 再生時のループ回数の指定はできず、「1回のみ再生」または「無限ループ」のいずれか
82
88
 
@@ -113,7 +119,7 @@ Windows 10/11 の 64bit 環境ではこの `DirectMusic` は正しく動作せ
113
119
  この gem は zlib/libpngライセンスの下で提供されています。
114
120
 
115
121
  ## 免責事項
116
- この gem は DXRubyの公式な後継ではなく、元の DXRubyプロジェクトによってメンテナンスされていません。これは、新しいバージョンの Ruby用に UCRT環境で動作することを目的としたカスタムビルドです。
122
+ この gem は DXRubyの公式な後継ではなく、新しいバージョンの Ruby用に UCRT環境で動作することを目的としたカスタムビルドです。
117
123
 
118
124
  ## リポジトリ
119
125
  ソースコードや詳細情報は、以下のリポジトリで確認できます。
data/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  **DXRuby64** is a custom-built version of DXRuby for 64-bit Ruby 3.1 and later, created by patching the original DXRuby source to allow building with the Universal C Runtime (UCRT). With DXRuby64, you can develop 2D games using DirectX 9 even on 64-bit Ruby environments.
4
4
 
5
- **Note:** This gem is an unofficial version created by an individual and is not maintained by the original DXRuby project.
5
+ **Note:**
6
+ This gem is an unofficial version created by an individual and is not maintained by the original DXRuby project.
6
7
 
7
8
  [日本語の README はこちら](README-ja.md)
8
9
 
@@ -14,6 +15,10 @@ To install the gem, simply run:
14
15
  gem install dxruby64
15
16
  ```
16
17
 
18
+ **Note:**
19
+ Please run the above command only when the original DXRuby is not installed, as it may interfere with the operation of DXRuby64.
20
+ (The original DXRuby does not support Ruby versions 3.1 and later, so the gem is unlikely to be installed in most environments.)
21
+
17
22
  ## Usage
18
23
  Once installed, you can use DXRuby features as usual:
19
24
 
@@ -43,11 +48,11 @@ gem contents dxruby64
43
48
  ## Requirements
44
49
  - **Ruby 3.1 or later (64-bit)** installed on Windows.
45
50
 
46
- - `d3dx9_40.dll` is required. This is part of the DirectX 9 runtime. If it's not already installed, you can download it from [Microsoft's official site](https://www.microsoft.com/en-us/download/details.aspx?id=8109).
51
+ - Ensure that **`d3dx9_40.dll`** is present. This DLL is part of the DirectX 9 runtime and can be downloaded from [the official Microsoft website](https://www.microsoft.com/en-us/download/details.aspx?id=8109).
47
52
 
48
- #### How to get `d3dx9_40.dll`
53
+ #### How to obtain and place `d3dx9_40.dll`
49
54
 
50
- 1. Download the [DirectX End-User Runtimes (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=8109).
55
+ 1. Download the file (`directx_Jun2010_redist.exe`) from [DirectX End-User Runtimes (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=8109).
51
56
 
52
57
  2. Double-click the downloaded `directx_Jun2010_redist.exe` and extract the files to a directory of your choice.
53
58
 
@@ -55,6 +60,63 @@ gem contents dxruby64
55
60
 
56
61
  4. Inside the `Nov2008_d3dx9_40_x64.cab` file, locate `d3dx9_40.dll` and copy (or move) it to the `bin` directory of your Ruby installation folder. (e.g. C:\Ruby34-x64\bin)
57
62
 
63
+
64
+
65
+
66
+
67
+ ## About the Sound Class Revision
68
+ ### Background
69
+ The [original DXRuby](https://github.com/mirichi/dxruby) Sound class used a library called `DirectMusic`.
70
+ However, on 64-bit environments of Windows 10/11, `DirectMusic` does not function correctly, and the following error has been confirmed:
71
+
72
+ ```
73
+ `DXRuby::Sound#initialize': DirectMusic initialize error - CoCreateInstance (DXRuby::DXRubyError)
74
+ ```
75
+
76
+ Therefore, in DXRuby64, we replaced `DirectMusic` with a library called `DirectSound`.
77
+ (`DirectSound` is already used in the SoundEffect class and is a proven library.)
78
+
79
+ ### Sample of the Revised Sound Class
80
+ A sample using the revised Sound class has been added to the `wav_sample/` directory within the sample files mentioned earlier.
81
+ Please give it a try.
82
+ Also, be sure to review the following limitations and changes.
83
+
84
+ ### Limitations and Specification Changes
85
+ Due to functional constraints of `DirectSound`, the following changes were made as part of the revision:
86
+
87
+ - The Sound class supports `.wav` and `.mp3` file formats
88
+ (The [original DXRuby](https://github.com/mirichi/dxruby) supports `.wav` and `.mid`)
89
+
90
+ - Loop count cannot be specified; only "play once" or "infinite loop" are supported
91
+
92
+ - Designed with use cases like sound effects and BGM for games in mind, only a minimal set of methods (listed below) is implemented
93
+
94
+ ```
95
+ Available Methods (including newly arranged ones)
96
+
97
+ .new Create an object
98
+ #play Play
99
+ #stop Stop
100
+ #volume= Set volume (0 to 255)
101
+ #set_volume Set volume (alias of #volume=, but the old fade effect via a second argument is not supported)
102
+ #loop= Set loop mode (same as #loop_count; accepts true or false)
103
+ #loop_count= Set loop count (only two options supported: 0 = play once, -1 = loop infinitely)
104
+ #dispose Dispose the object
105
+ #disposed? Check if the object has been disposed
106
+ ```
107
+ ```
108
+ Unsupported Methods (implemented in the original DXRuby)
109
+
110
+ .load_from_memory
111
+ #start=
112
+ #loop_start=
113
+ #loop_end=
114
+ #pan
115
+ #pan=
116
+ #frequency
117
+ #frequency=
118
+ ```
119
+
58
120
  ## License
59
121
  This gem is licensed under the zlib/libpng license.
60
122
 
data/lib/31/dxruby.so CHANGED
Binary file
data/lib/32/dxruby.so CHANGED
Binary file
data/lib/33/dxruby.so CHANGED
Binary file
data/lib/34/dxruby.so CHANGED
Binary file
Binary file
@@ -4,7 +4,7 @@ sound = Sound.new("gameover.wav") # gameover.wav読み込み
4
4
  sound.loop_count = 0 # 効果音は繰り返さない(「.loop_count = -1|0」形式での設定)
5
5
  sound.set_volume(255) # 効果音の音量(最大)(「.set_volume(値)」形式での設定)
6
6
 
7
- bgm = Sound.new("backg.wav") # backg.wav読み込み
7
+ bgm = Sound.new("backg.mp3") # backg.mp3読み込み
8
8
  bgm.loop = true # BGMは繰り返す(「.loop = true|false」形式での設定)
9
9
  bgm.play # BGB再生
10
10
  bgm.volume = 200 # BGMの音量(「.volume = 値」形式での設定」)
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dxruby64
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7.1
4
+ version: 1.4.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koki Kitamura
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-05-06 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies: []
13
12
  description: This gem provides a custom build of DXRuby for Ruby 3.1 and later, compiled
14
13
  for 64-bit Ruby versions using UCRT (Universal C Runtime) on Windows. It is a personal,
@@ -118,7 +117,7 @@ files:
118
117
  - sample/shader_sample/sample_vertexshader.rb
119
118
  - sample/shader_sample/sample_wingman.rb
120
119
  - sample/shader_sample/turn_transition.rb
121
- - sample/wav_sample/backg.wav
120
+ - sample/wav_sample/backg.mp3
122
121
  - sample/wav_sample/desktop.ini
123
122
  - sample/wav_sample/dispose.rb
124
123
  - sample/wav_sample/gameover.wav
@@ -128,7 +127,6 @@ licenses:
128
127
  - Zlib
129
128
  metadata:
130
129
  homepage_uri: https://github.com/spoolkitamura/dxruby64
131
- post_install_message:
132
130
  rdoc_options: []
133
131
  require_paths:
134
132
  - lib
@@ -143,8 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
141
  - !ruby/object:Gem::Version
144
142
  version: '0'
145
143
  requirements: []
146
- rubygems_version: 3.5.22
147
- signing_key:
144
+ rubygems_version: 3.6.7
148
145
  specification_version: 4
149
146
  summary: Custom build of DXRuby for 64-bit Ruby 3.1 and later (UCRT)
150
147
  test_files: []
Binary file