2008年11月13日木曜日

Zwei!!をXbox360コントローラで遊んでみた

今更ながら、Zwei!!をXbox360コントローラで遊んでみた。
まず予備知識として
・Zwei!!は2001年発売。
・Xbox360コントローラは2005年発売。

気付いたのは、Zwei!!の移動がアナログに対応していたということ。
2001年当時は、ジョイパッドにアナログスティックがついているものはあまりなかったと思う。
もちろん全くなかったわけではないが、一般に普及しているといえるほどではなかった。
それだけを考えると、よくそんなものに対応したなと感心するのだが、オチがあった。

それは、遊び値の設定である。
Xbox360コントローラ自体が持っている遊びの量に対して、ゲームが設定している遊びが少なく、
ニュートラル状態でもゆっくり移動してしまうのである。
このせいで、特にピピロを操作する場合に、立ち止まって任意の方向に魔法を出すということが非常に難しかった。
立ち止まったつもりでもゆっくり移動したり、反対方向を向いたりしてしまうのである。

恐らく、マウス操作の場合の移動処理で、アナログ値を引き渡す関数を使っていて、
そのルーチンをジョイパッドにも使い回しているのだろう。
きっとそれによってたまたまアナログ対応になったのだと思う。

余談だが、遊ぶ途中でパッチを入れた際、説明以外の気付いた範囲で以下の変化があった。
・迷宮で本、翼が使えなくなった
・変なところでセーブする場合がある
・たいたんがミルクを落とすようになった
・まだドアに挟まる場合がある

2008年9月8日月曜日

某ゲームであった画質設定

以前遊んだあるゲームで、FrameRateの設定がx1~x4まであるゲームがあった。
マニュアルに説明が書いていなかったために、試しにそれぞれを設定してみたところ、

1だと標準の速度
2だと速度1/2
3だと速度1/3
4だと速度1/4

という現象が起こったことがあった。

ソフトはそれよりも更に数年前に発売されたもので、マシンスペックは明らかに推奨を上回っていたのにFrameRateを上げると半分以下の速度しか出ないというのはありえないので、調べてみたら、DirectDrawに以下のような機能が存在することを知った。
おそらくそれだったのだろう。
FrameRateってモニタのFrameRateってことか。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Flip関数には
DDFLIP_INTERVAL2
DDFLIP_INTERVAL3
DDFLIP_INTERVAL4

という定数を引数として渡すことが出来る。

これらは、Vsyncを2~4回待ってから描画をするという意味を持つ。

2008年7月10日木曜日

フルスクリーンでゲームをやるとフリーズ

ある日突然、フルスクリーンでゲームをやると数秒後にフリーズするようになった。
ゲームを問わず再現するので、グラフィックボードでも故障したかなと思ったのだが、
数日前に電源を一度外した事を思い出し、その時にどこか接触不良でも起こしたかなと思って、
グラフィックボードを挿し直したらどうやら直ったっぽい。

マシンの買い替えも少し考えたが、早まらなくて良かった。
こういう症状もあるんだな。

2008年5月29日木曜日

Visual Studio 2005から2008 に移行しようとしたら問題発生

iTunesを使ってCD情報をcdplayer.iniに出力するソフト
のプロジェクトを2008に変換して、コンパイルし実行したら、
cdplayer.iniを出力する段階でなぜかERROR_ACCESS_DENIEDが発生するようになった。

ソースはまったく手を入れていないし、バックアップされたプロジェクトファイルで2005でコンパイルするとエラーにならない。

ためしに、2008の「リンカ」-「マニフェストファイル」-「UACの実行レベル」でasInvokerをhighestAvailableに変更すると、
一応動くのだがフォルダがリダイレクトされないで、c:\windows\に出力してしまう。

最終的に、
「リンカ」-「マニフェストファイル」-「ユーザー アカウント制御 (UAC) を有効にする」を「いいえ」
にしたら2005と同じ動作になった。

2008年4月1日火曜日

.NET Compact Framework 2.0でサウンドプレーヤーを作ろうとしたが

ストリームサウンドを扱うクラスが無いらしく、C言語を使うしかないという結論に達した。

2008年3月23日日曜日

iTunesで曲を買ったらM4Aだった

コカコーラを買ったらiTunesで曲をもらえるというキャンペーンをやっていたので、
これを利用してiTunesのアカウントを取得して曲を購入してみた。
購入したのは2006年リリースの150円の曲で、購入したファイルを見てみると
拡張子がM4Aで、DRMはかかっていない様子。
iTunes以外のプレーヤーでも再生できるし、他のPCにコピーしても再生できました。
これは普通にありえることなのだろうか?

15:00追記:購入した曲は150円でもiTunes Plus配信のものでした。だから普通です。

2008年2月25日月曜日

レスキュー用LiveCD

UBCDとかGpartedとかいくつか試してみて、今まではSystemRescueCDを使ってきたが、
最近知ったClonezilla-SysRescCDがよさそうだ。

・Clonezilla-SysRescCD
SystemRescueCDにClonezillaを統合したもの。
・Clonezilla
PartImageを、パーティションだけじゃなくてディスク全体のバックアップも出来るようにしたツール。

2009/12/15追記
Clonezilla-SysRescCDは開発が止まったっぽいので、再びUBCD(v5.0rc1)に戻った。
4.1.1に比べて、かなり使いやすくなっている。
特にParted Magicの取り込みが良い。

2008年2月9日土曜日

自作ジャンクプログラム(2)iTunesを使ってCD情報をcdplayer.iniに出力するソフト

iTunesを使ってCD情報をcdplayer.iniに出力するソフト
2009/12/15 リンク先変更
http://sites.google.com/site/eleproxxx/cdplayer.inifromitunes.zip?attredirects=0&d=1

これでPlayer入れなくても済みそうだ。

------------------
変更履歴
    iTunesが起動した状態で待つようにした    2008/4/4

    コンパイラをVisualStudio2008に変更
    前回の変更が機能していなかったのを修正した
    出力するサイズが200バイトを超えていると正しく出力できていなかったのを修正(最大2000文字に)
    Cdplayer.iniへ出力する際にエラーになったらエラーを表示するようにした    2008/05/28

    2009/3/11
        複数枚組みはタイトルにディスクナンバーを入れるようにした
  
    2009/5/19
        OSとiTunesのディスク検出枚数が一致しなかったときのメッセージを変更
    2009/10/21
        OSとiTunesのディスク検出枚数が一致しなかったときのメッセージを修正
    2010/1/14
        コンピレーションCDに対応
    2010/12/13
        コンパイラをVisualStudio2010に変更(これにより対応OS変更)
        CCCDに対応
    2012/3/6
        読み込み処理を続けるか尋ねるようにした。
     2012/11/8
        コンパイラをVisualStudio2012に変更(これにより対応OS変更)
    2016/9/11
        コンパイラをVisualStudio2015に変更(これにより対応OS変更)
        プロジェクトとソースをVisualStudio2015に合わせて修正
        iTunesが認識したCDドライブをアプリケーション側で読み込めない場合があるのを修正

2008年1月24日木曜日

自作ジャンクプログラム(1)UIPAD




2009/12/15 リンク先変更
UIPAD:
・XInputゲームパッドをマウス・キーボードとして利用する。
・RS232Cで入力された英数字をキーボード入力として利用する。(キーボードウェッジ)
ことが出来るフリーソフト。ソースコード付き。

2008/10/25
CPU使用率削減
アイコンのデザインを変えた
RS232C対応
デッドゾーンデフォルト値変更
パッド設定をデフォルトに戻す対応
プロパティシートの適用ボタンに一部対応
バグ修正

2012/2/29
コンパイラをVisualStudio2010に変更
デッドゾーンデフォルト値変更
割り当て設定をロードするときに、設定がない場合にデフォルト設定を割り当てていなかったバグを修正
テキストファイルの修正

2012/11/8
コンパイラをVisualStudio2012に変更

2012/11/14
xinput1_4.dllにリンクしてしまっていたのを修正
バグ修正

2008年1月12日土曜日

ファミコン チャレンジャー2面マップ

ブログ開設早々こんなことしていいのだろうかという思いもあるが、
せっかく作ったのでアップ。
権利者から文句が来たら消そう。


2009/12/15 リンク先変更
原寸大

2008年1月7日月曜日

SHOUTcastの解析(1)

VLC media playerによると、
http://www.shoutcast.com/sbin/newxml.phtmlが局リストのルートになり、ここにジャンル一覧が入っている。
その中のgenreタグを読み取って、
http://www.shoutcast.com/sbin/newxml.phtml?genre=24hs
のように指定すると、
そのジャンルの局情報が取得できる。
更にその中のtuneinタグとidで
http://www.shoutcast.com/sbin/tunein-station.pls?id=647115
のように指定すると、その局のプレイリストが取得できる。
プレイリストの中身は
[playlist]
numberofentries=1(ミラー局数?)
File1=http://****:****(局の場所)
Title1=(#? - ???/???) ****(#は局の番号? - リスナー数/最大リスナー数? タイトル)
(numberofentriesの数だけFileとTitleが繰り返す)
Length1=-1(-1は無限大という意味?)
Version=2(不明)
となっていて、
Fileのアドレスに接続するとストリームデータを取得できるようだ。