約 2,211,022 件
https://w.atwiki.jp/pluginanalogsimulate/
ハードウェアエフェクターをエミュレートしたDAW用プラグインを、その実機別に一覧にしてみた。 他にこーいうサイト無さげなので。 気が向いたとき、思いつくままに追加・編集してるので、 アルファベット順とかEQ・コンプ別とかそこまではしてない。 また各プラグインメーカー独自のパラメータを追加してたり、 他のエフェクターと合体させてたりするので、どれだけ実機に忠実かまでは知らん。 今んとこVSTプラグインの情報から作成。RTASとかわからん。 Focusrite LIQUID MIXは反則気味。 合計: - 今日: - 昨日: - トップページの合計: - 09/10/18 TUBE-TECH、Pultec追加 09/09/17 ネタ切れ。誰か他に知んね? 2chのVSTスレにでも。
https://w.atwiki.jp/shiori_yuhna-se/pages/15.html
結奈たんの秘密 Second Edition (嘘)に図説あり。 ・さおり使用方法 最終的には、さおりのDLLファイルを入れるだけで認識する予定ですが、今のところは・・・ ghost\masterフォルダに、「saori.txt」を作る。 1行ごとに、「(ID),(DLLファイル名),(staticまたはdynamic)」の書式でDLLファイルを書く。 staticだと結奈起動時にロード、dynamicだとさおりを呼び出す度にロードします。 (例) saori.txtに「music,mciaudio.dll,static」 と書いて、トークに 「$saori[music,load,KOUMM00.MID]$saori[music,play]再生するよ。」 とかくと、音楽が再生されます。 さおりは、以下のページにリストがあります。ここからダウンロード可能。 http //members.jcom.home.ne.jp/umeici/saoricollect.html ・さおりの使用方法、追加 $saori[(なんとかかんとか)]を実行すると、このスクリプトは さおりから帰ってきた文字(Result)に置き換えられます。 他の文字(Value[n])は、{@value0}とか{@value1}とかで表示されます。 変数扱いなので、{a=@value0}と言う風にaに入れる事も出来ます。 【本家掲示板No.0001「YUHNA-SE Unit 1 補足」より】 基本的なコト
https://w.atwiki.jp/sampleisbest/pages/147.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 空の CLR プロジェクト プロジェクト名 ClrServer プロジェクト名 ClrClient ClrServer.cpp #pragma comment(linker, "/subsystem windows /entry main") // .NET参照 #using System.dll #using System.Drawing.dll #using System.Windows.Forms.dll // 名前空間 using namespace System; using namespace System Drawing; using namespace System Net; using namespace System Net Sockets; using namespace System Text; using namespace System Windows Forms; ref class Form1 Form { public Form1(void) { InitializeCompnent(); ep = gcnew IPEndPoint(IPAddress Any, 8080); udp = gcnew UdpClient(ep); udp- BeginReceive(gcnew AsyncCallback(this, Form1 RecvCallback), nullptr); } ~Form1() { udp- Close(); } private TextBox^ msg; IPEndPoint^ ep; UdpClient^ udp; void InitializeCompnent(void) { msg = gcnew TextBox; SuspendLayout(); // msg msg- Bounds = Rectangle(10, 10, 300, 60); msg- Multiline = true; msg- ScrollBars = ScrollBars Vertical; // Form1 ClientSize = Drawing Size(320, 120); Controls- Add(msg); Text = L"ClrServer"; ResumeLayout(false); PerformLayout(); } void RecvCallback(System IAsyncResult^ ar) { array Byte ^ dgram = udp- EndReceive(ar, ep); String^ str = Encoding Unicode- GetString(dgram); msg- Invoke(gcnew D_SetMsg(this, Form1 SetMsg), str); udp- BeginReceive(gcnew AsyncCallback(this, Form1 RecvCallback), nullptr); } delegate void D_SetMsg(String^ str); void SetMsg(String^ str) { msg- Text = str; } }; [STAThread] int main() { Application Run(gcnew Form1); return 0; } ClrClient.cpp #pragma comment(linker, "/subsystem windows /entry main") // .NET参照 #using System.dll #using System.Drawing.dll #using System.Windows.Forms.dll // 名前空間 using namespace System; using namespace System Drawing; using namespace System Net Sockets; using namespace System Text; using namespace System Windows Forms; ref class Form1 Form { public Form1(void) { InitializeCompnent(); } private TextBox^ msg; Button^ send; void InitializeCompnent(void) { msg = gcnew TextBox; send = gcnew Button; SuspendLayout(); // msg msg- Bounds = Rectangle(10, 10, 300, 60); msg- Multiline = true; msg- ScrollBars = ScrollBars Vertical; // send send- Text = L"送信"; send- Location = Point(10, 80); send- Click += gcnew EventHandler(this, Form1 SendClick); // Form1 ClientSize = Drawing Size(320, 120); Controls- Add(msg); Controls- Add(send); Text = L"ClrClient"; ResumeLayout(false); PerformLayout(); } private void SendClick(Object^ sender, EventArgs^ e) { UdpClient^ udp = gcnew UdpClient; array Byte ^ dgram = Encoding Unicode- GetBytes(msg- Text); udp- Send(dgram, dgram- Length, L"localhost", 8080); udp- Close(); } }; [STAThread] int main() { Application Run(gcnew Form1); return 0; }
https://w.atwiki.jp/king_arthur/pages/970.html
このページは、ゲームの英文字幕に機械翻訳データを 適用するためのファイルを配布するページです。 デモでも使用出来ますので、まずはデモをダウンロードしてプレイしてみてください。 (まずは、プレイ人口を少しでも増やす作戦) 機械翻訳ですから、はっきり言って笑えますw。 有志の皆様と共に意訳したデータを元に GameRes.dllを修正して随時アップロードしていきたいと思います。 ダウンロードテーブル番号付き_GameRes.dll_2010年02月17日バージョンノーマル_GameRes.dll_2010年02月17日バージョン 機械翻訳版GameRes.dllの導入方法 インストールフォルダを開きます。(画面はDEMO版のものです) オリジナルのGameRes.dllをコピーしてから適当な名前でバックアップします ダウンロードしたzipファイルを適当なフォルダに解凍して、GameRes.dllに名前を変更してから インストールフォルダ内に上書きします。 ゲームを起動します。 文字化けしてるじゃん!ヽ(`д´;)ノウエーン それに、頭に変な記号がついてるし・・・ 実はこれは文字化けではなく、ゲームのプログラムが指定した英文フォントの文字と文字の間の幅が日本語と比べて狭いので 日本語の文字が満員電車のようにピッタリと密着した状態で(っていうかほとんど将棋倒し状態で)重なり合った状態で表示されているのです。 これを解消するにはインストールフォルダの、Configurationフォルダを開いて その中のFontMap.cfgファイルをテキストエディターで開きます。 そして、画像のように変更します。 なんか普通のフォントになっちゃいましたけど。こんな感じになります。 せめてアルファベットだけでも尻尾がクルンってなってるカッコイイのがいい!と思うかも知れません。 Tahomaというフォントは別のフォントをリンクして表示させるフォントだそうですので、 もしかしたらレジストリをいじれば、またはこのcfgファイルをいじれば自分の好きなフォントが選べるのかも知れませんが、 まだそこまで研究してませんので、今のところはこれでお願いします。 ちなみに、頭に付いてる記号は、当wikiの翻訳ページの番号を示しています。 例えばT39だったら、StringTableの0039のページを見ると、これらの機械翻訳の文章が 記載されているという訳です。 えっ?翻訳なんて興味無いって?(´;ω;`)ウッ… ページ記号の付いていないDLLも用意してあります。 ノーマルの方をダウンロードしてくださいorz。 レジストリをいじってPC再起動後に起動したゲーム画像 無理矢理やれば別のフォントで表示出来るですが・・・ よく仕組みを理解出来てないので、お勧め出来ません。
https://w.atwiki.jp/taziro/pages/43.html
Animation.Content のコンパイル 1.新しく「Windows Game」プロジェクトを作成します。 2.全てのファイルをこのプロジェクトのコンテントフォルダ内に置いて下さい。 3.「Microsoft.Xna.Framework.Content.Pipeline」と「System.Xml」を参照に追加して下さい。 4.ソリューションエクスプローラで右クリックし、プロジェクトのプロパティを開いて下さい。 5.アプリケーションタブを開いて下さい。 6.アセンブリ名を「Xclna.Xna.Animation.Content」に変更して下さい。 7.アセンブリ情報のボタンをクリックし、アセンブリバージョンにこのライブラリのバージョンを設定して下さい。 8.プロジェクトをビルドし、DLL をコンパイルします。 Windows ターゲットのコンパイル 1.新しく「Windows Game Library」プロジェクトを作成します。 2.プロジェクトにコンテントフォルダ外にある全てのファイルを追加して下さい。 3.アセンブリ名を「Xclna.Xna.Animationx86」に変更し、アセンブリバージョンにこのライブラリのバージョンを設定して下さい。 4.プロジェクトをビルドし、DLL をコンパイルします。 XBox360 ターゲットのコンパイル 1.新しく「XBox360 Game Library」プロジェクトを作成します。 2.プロジェクトにコンテントフォルダ外にある全てのファイルを追加して下さい。 3.アセンブリ名を「Xclna.Xna.Animation360」に変更し、アセンブリバージョンにこのライブラリのバージョンを設定して下さい。 4.「ModelViewer.cs」に記述されている「#define WINDOWS」を「#define XBOX360」に変更して下さい。 5.プロジェクトをビルドし、DLL をコンパイルします。 コンパイルされた DLL の使用 1.プロジェクトのプロパティを開き、Content Pipeline タブをクリックし、そして「Xclna.Xna.Animation.Content.dll」を選択して下さい。 2.「Xclna.Xna.Animationx86」または「Xclna.Xna.Animation360.dll」をゲームプロジェクトの参照に追加して下さい。
https://w.atwiki.jp/gdiplusplus/pages/34.html
1. 使い方 2. バイナリ 3. 更新履歴 4. FAQ gdi++一式のフォルダ内か、その1つ上の階層にgdiManager.exeを置きます1つ上の階層に置いた場合は複数のDLLをメニューから選択できます 起動するとタスクトレイに常駐します 右クリックでメニューが出ます 任意のフォルダ名(例:gdi0324)有効 (有効/無効の切り替え) INIを開く (gdi++.iniを開く) フォルダを開く (gdi++.dllがあるフォルダを開く) バージョン情報 (gdi++.dllのバージョン情報を表示) DLLを再検索 (gdi++.dllを再検索) デスクトップの再描画 (そのまんま) Managerのフォルダを開く (そのまんま) バージョン情報 (gdippManagerのバージョン情報を表示) 終了 (gdippManagerの終了)
https://w.atwiki.jp/boatassist/pages/19.html
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; public class NetWorkUtil { #region プロパティ private static Guid GUID_DEVCLASS_NET = new Guid(0x4d36e972, 0xe325, 0x11ce, 0xbf, 0xc1, 0x08, 0x00, 0x2b, 0xe1, 0x03, 0x18); private const int DIGCF_PRESENT = 2; private const int DIF_PROPERTYCHANGE = 0x00000012; private const int DICS_FLAG_GLOBAL = 0x00000001; private const int INVALID_HANDLE_VALUE = -1; private const int DICS_ENABLE = 0x00000001; private const int DICS_DISABLE = 0x00000002; private const int DICS_FLAG_CONFIGSPECIFIC = 0x00000002; [StructLayout(LayoutKind.Sequential)] private struct SP_DEVINFO_DATA { public int cbSize; public Guid ClassGuid; public int DevInst; public int Reserved; } [StructLayout(LayoutKind.Sequential)] private struct SP_CLASSINSTALL_HEADER { public int cbSize; public int InstallFunction; } [StructLayout(LayoutKind.Sequential)] private struct SP_PROPCHANGE_PARAMS { public SP_CLASSINSTALL_HEADER ClassInstallHeader; public int StateChange; public int Scope; public int HwProfile; public void Init() { ClassInstallHeader = new SP_CLASSINSTALL_HEADER(); } } #endregion #region SetUp API [DllImport("setupapi.dll")] private static extern IntPtr SetupDiGetClassDevs(ref Guid ClassGuid, IntPtr Enumerator, IntPtr hWndParent, int Flags); [DllImport("setupapi.dll")] private static extern bool SetupDiEnumDeviceInfo(IntPtr DeviceInfoSet, int Supplies, ref SP_DEVINFO_DATA DeviceInfoData); [DllImport("setupapi.dll")] private static extern bool SetupDiDestroyDeviceInfoList(IntPtr DeviceInfoSet); [DllImport("setupapi.dll")] private static extern bool SetupDiSetClassInstallParams(IntPtr DeviceInfoSet, ref SP_DEVINFO_DATA DeviceInfoData, ref SP_CLASSINSTALL_HEADER ClassInstallParams, int ClassInstallParamsSize); [DllImport("setupapi.dll")] private static extern bool SetupDiCallClassInstaller(int InstallFunction, IntPtr DeviceInfoSet, ref SP_DEVINFO_DATA DeviceInfoData); #endregion private static IntPtr hDevInfo = (IntPtr)0; private static bool StateChange(int NewState, int SelectedItem, IntPtr hDevInfo) { SP_PROPCHANGE_PARAMS PropChangeParams; SP_DEVINFO_DATA DeviceInfoData; PropChangeParams = new SP_PROPCHANGE_PARAMS(); PropChangeParams.Init(); DeviceInfoData = new SP_DEVINFO_DATA(); PropChangeParams.ClassInstallHeader.cbSize = Marshal.SizeOf(PropChangeParams.ClassInstallHeader); DeviceInfoData.cbSize = Marshal.SizeOf(DeviceInfoData); if (!SetupDiEnumDeviceInfo(hDevInfo, SelectedItem, ref DeviceInfoData)) return false; PropChangeParams.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE; PropChangeParams.Scope = DICS_FLAG_GLOBAL; PropChangeParams.StateChange = NewState; if (!SetupDiSetClassInstallParams(hDevInfo, ref DeviceInfoData, ref PropChangeParams.ClassInstallHeader, Marshal.SizeOf(PropChangeParams))) return false; if (!SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, hDevInfo, ref DeviceInfoData)) return false; PropChangeParams.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE; PropChangeParams.Scope = DICS_FLAG_CONFIGSPECIFIC; PropChangeParams.StateChange = NewState; if (!SetupDiSetClassInstallParams(hDevInfo, ref DeviceInfoData, ref PropChangeParams.ClassInstallHeader, Marshal.SizeOf(PropChangeParams))) return false; if (!SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, hDevInfo, ref DeviceInfoData)) return false; return true; } /// summary /// ネットワークを無効にします。 /// /summary /// returns bool 処理の成否 /returns public static bool DisableNetAdapter() { IntPtr hdi; bool res = true; hdi = SetupDiGetClassDevs(ref GUID_DEVCLASS_NET, (IntPtr)0, (IntPtr)0, DIGCF_PRESENT); if (hdi == (IntPtr)INVALID_HANDLE_VALUE) return false; res = StateChange(DICS_DISABLE, 0, hdi); SetupDiDestroyDeviceInfoList(hdi); System.Threading.Thread.Sleep(500); return res; } /// summary /// para ネットワーク接続を有効にします /para /// /summary /// returns bool 処理の成否 /returns public static bool EnableNetAdapter() { IntPtr hdi; Boolean res = true; hdi = SetupDiGetClassDevs(ref GUID_DEVCLASS_NET, (IntPtr)0, (IntPtr)0, DIGCF_PRESENT); if (hdi == (IntPtr)INVALID_HANDLE_VALUE) return false; res = StateChange(DICS_ENABLE, 0, hdi); SetupDiDestroyDeviceInfoList(hdi); System.Threading.Thread.Sleep(500); return res; } }
https://w.atwiki.jp/sampleisbest/pages/161.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 空の CLR プロジェクト プロジェクト名 ClrDgv2 参考 DataGridView.DataSource プロパティ ClrDgv2.cpp #pragma comment(linker, "/subsystem windows /entry main") // アセンブリ #using System.dll #using System.Data.dll #using System.Drawing.dll #using System.Windows.Forms.dll // 名前空間 using namespace System; using namespace System Data; using namespace System Data Odbc; using namespace System Drawing; using namespace System Threading; using namespace System Windows Forms; ref class Form1 Form { public Form1(void) { InitializeComponent(); InitializeDGV(); } private DataGridView^ dgv; BindingSource^ bs; void InitializeComponent(void) { dgv = gcnew DataGridView; bs = gcnew BindingSource; SuspendLayout(); // dgv //dgv- Location = Point(96, 71); //dgv- Size = Drawing Size(321, 286); dgv- Dock = DockStyle Fill; // Form1 Text = "ClrDgv2"; ClientSize = Drawing Size(800, 600); Controls- Add(dgv); ResumeLayout(false); } void InitializeDGV(void) { try { dgv- AutoGenerateColumns = true; bs- DataSource = GetData("select * from 09TOCHIG.CSV"); dgv- DataSource = bs; dgv- AutoSizeRowsMode = DataGridViewAutoSizeRowsMode DisplayedCellsExceptHeaders; dgv- BorderStyle = BorderStyle Fixed3D; dgv- EditMode = DataGridViewEditMode EditOnEnter; } catch (OdbcException^) { MessageBox Show("OdbcException"); Thread CurrentThread- Abort(); } catch (Exception^ ex) { MessageBox Show(ex- ToString()); } } DataTable^ GetData(String^ sql) { String^ connStr = "driver={Microsoft Text Driver (*.txt; *.csv)}; dbq=C \\tmp"; OdbcConnection^ conn = gcnew OdbcConnection(connStr); OdbcCommand^ command = gcnew OdbcCommand(sql, conn); OdbcDataAdapter^ adapter = gcnew OdbcDataAdapter; adapter- SelectCommand = command; DataTable^ table = gcnew DataTable; adapter- Fill(table); return table; } }; int main() { Application Run(gcnew Form1); return 0; }
https://w.atwiki.jp/mjpro/pages/15.html
麻雀シミュレータ MJSim ■目次 何をするもの? 仕様 現在の開発状況 実行方法 AIの作成方法 ソースについて 配布ファイルの内容 開発元 既知のバグ 更新履歴 ■何をするもの? 麻雀AIを開発し、AI同士を何千試合も戦わせるソフト。 AIは、これを読んでいるあなたが作ってください。 東風荘形式のログが残るので、他の人が作ったAIと勝負したり、統計を取ったりできる。 言語はC/C++。 他の言語(C言語から呼び出せるDLLを作成できるもの)でもできるかも。 ■仕様 ルールは東風荘第1ルール。東風荘ホームページ http //mj.giganet.net/ DLLで対戦者を作る。 東風荘互換のログを出す(牌譜再生、統計情報表示のため)。 ■現在の開発状況 まだ駄目なところもあるが、大体のことはできる。 ツモって捨てる、鳴く、上がって点数計算、最終結果計算、東風荘牌譜出力など。 ■実行方法 ※わからない場合は、開発元スレッドを読んだり質問してください。 [準備] ①MJSim.exeを作成する。 MJSim.exeのプロジェクト(コンソールアプリケーション)を作成し、 MJSimフォルダのすべてのファイルを追加する。 ②コンパイルする。 ③MJSimAI.DLLを作成する。開発元スレッドで公開されているDLLをダウンロードする手もある。 MJSimAI.DLLのプロジェクト(DLLプロジェクト)を作成し、 MJSimAIフォルダのすべてのファイルを追加する。 ④コンパイルする。 ⑤MJSimAI.DLLをコピーして4つにする。 名前は15バイトまで。 MJSimAI.DLL、MJSimAI1.DLL、MJSimAI2.DLL~など。 ⑥AIの登録。 MJSim.iniの[AI]セクションにDLL名を記述する。 [実行] ⑦MJSim.exeを実行。 [実行に必要なファイル] ・MJSim.exe ・MJSim.ini ・DLL(AI)4つ(同じDLLを名前を変えてコピーして4つにしても良い) これらを同一のフォルダに置くこと。 (正確には、MJSim.exeはフルパスで起動すればどこでもいいが、 DLL4つとMJSim.iniは作業フォルダに存在する必要がある) ⑧実行すると、 1... 2.....と表示される。 数字は試合数。「.」ひとつで1局。 ⑨シフトキーを押すと終了。 ⑩結果を見る。 MJSimScore.txtというファイルが作られる。雀譜で再生できる。 統計ツールは、MJStat、雀友、できすぎくんなど。 ■AIの作成方法 ※わからない場合は、開発元スレッドを読んだり質問してください。 DLLのプロジェクトを作って、MJSimAIフォルダのサンプルコードを追加してください。 詳細はサンプルコードや、ヘッダファイルを参照してください。 [簡単な説明] ①MJSim.hをインクルードする。 #include "../MJSim/MJSim.h" ②AIInterfaceVersionとAIAction関数を実装する。 C言語から呼び出せる形式で作成してください。 (コンパイラのマニュアル等で確認してください) [インターフェース関数仕様] ・int AIInterfaceVersion() [戻り値] 現在は1を返してください。 ・void AIAction(int Msg, int Index, MJTAKU *Taku) [引数] Msg 呼び出された理由。MJMSG_???が渡される。 Index 自分がどこに座っているか。0 起家~。 これは、MJTAKU構造体の、どのPlayer構造体が自分の手なのかを知るのに必要。 Taku MJTAKU構造体へのポインタ。 卓上の情報がすべて入っている。 [Q&A] Q AIから牌を捨てる、上がる、鳴くなどの指示は、どうやるのか。 A Taku- Player[Index].Action構造体で指定する。 Q Taku- Player[Index].Action以外の部分を書き換えてもかまわないか。 A OK。関数からの戻り時に元のとおりである必要は無い。 Q MJSim.exeの関数を呼び出すことはできない。 A MJTAKU構造体の情報を使ってアクションを決めてください。 Q 呼び出される順序は? A 次のように呼び出される。 ①東風戦開始時 MJMSG_GAMESTART ②局開始時 MJMSG_KYOKUSTART ③自分が牌をツモったとき(リンシャン含む) MJMSG_TSUMO ④誰かが牌を捨てたとき MJMSG_REACTION 局中は③~④を繰り返す。 鳴きが入らなければ一順で、ツモ1回、リアクション4回が送られる。 ⑤MJMSG_KYOKUEND, 試合中は②~⑤を繰り返す。 ⑥MJMSG_GAMEEND, MJSim動作中は①~⑥を繰り返す。 Q 自風を取得したい。 A 自風を表す変数は無いので、座り位置と局数から計算してください。 Q リアクション時に、他家の最後のアクションを取得したい。 A Taku- Player[Taku- Trun].Action.Typeから取得する。 「Taku- Trun」のインデクスのプレイヤーが最後に何らかのアクションをしたプレイヤー。 Q チャンカンのやり方は? A 誰かがカンしたとき、リアクションメッセージが来る。このとき、 ①Taku- Player[Taku- Trun].Action.Typeから最後のアクションを取得して、 MJACTION_KAKAN(加カン)だったら、 ②Taku- Player[Taku- Trun].Action.Hosokuにカンした牌が入っているので、 それが上がり牌なら、ロンできる。 Q リアクション時に、他家の最後の捨て牌を取得したい。 A ツモ切りで無い場合は、Taku- Player[Taku- Trun].Action.Sutehai。 0がはいっている時はツモ切りで、この場合は河から取得する。 河は、牌を捨てていないところが0になっているので、0の直前の牌が最後の牌。 [注意点] DLL名がプレイヤー名になる。 同じAIが卓を囲むのはまずい。 たとえばAI0~AI3まで、全部同じDLLを指定すると、4人分のメッセージがきてしまう。 1順の間にツモ4回、リアクション16回。 グローバル変数を共有してしまう。 [対処方法] DLLをコピーして名前を変える。 MJSimAI1.dll、MJSimAI2.dll・・・とか。 DLLとiniファイルは、作業フォルダ(カレントディレクトリ)にないとだめ。 VCのデバッガを使うときとか、 設定で作業フォルダが、プロジェクトのあるフォルダになっていると、 そこにDLLは無いため(DLLはdebugとかにある)、読み込めずに落ちるので注意。 AIが不正なアクションを指定したときの動作 訂正される。場合によってはチョンボになったり、不利な動作になる。 ・誤ツモ上がり、誤ロン→チョンボになる ・持っていない牌を捨てる、誤暗カン→ツモ切りに訂正 ・リーチ後、ツモ切り、ロン、暗カン以外→ツモ切りに訂正 ・誤ポン、誤チー、誤明カン→何もしないに訂正 ・暗カン、明カン、時のアクション→すべて無視 ・加カンのときのロン以外→すべて無視 ・ポン、チー時の捨て牌でツモ切りを指定→一番左の牌が切られる AIInterfaceVersion関数について 今後新しいインターフェースが定義されたときに、以前のインターフェースのAIも (ソースの修正や再コンパイル無しで)同時に使用できるようにするためのもの。 例えば、渡される構造体(MJTAKU)に新しい変数が追加されたとかの場合、 バージョン2が定義される。バージョン1と2のAIで対戦可能にする。 ただし、どちらかが不利になってしまう場合などは対戦できなくする。 ■ソースについて 一部のソースを、他のソフトから流用しています。 流用したソースファイル Def.h、Hantei.h、Hantei.cpp、Mahjong.h、Mahjong.cpp 麻雀役判定器 Ver.033 作者:Naoさん giga@mycom.ne.jp http //isweb11.infoseek.co.jp/computer/giga/ 上記以外のソースについては自由にしてください。 責任は負いません。 ■配布ファイルの内容 [MJSim]フォルダ MJSim.ini 設定ファイルサンプル MJSim.cpp MJSim本体 MJSim.h 麻雀AI用ヘッダ StdAfx.cpp StdAfx.h Def.h 役判定クラス Hantei.h Hantei.cpp Mahjong.h Mahjong.cpp [MJSimAI]フォルダ MJSimAI.cpp 麻雀AIサンプル(ツモ切りのみ) StdAfx.cpp StdAfx.h [SampleAI]フォルダ MJSinAI_v0.0.4.cpp 283さん作麻雀AI。リーチをかけて上がる。たまに鳴く。 MJSimAI.cppと取り替えて使える。 ■開発元 2ちゃんねる プログラム板スレッド 「おまいら最強の麻雀プログラムしてみろよ!!」 http //pc2.2ch.net/test/read.cgi/tech/1048299493/ ■既知のバグ 上にあるほど優先。 ★A(緊急) ★B(早め) リーチ後の待ちの変わる暗カンをしてもチョンボにならない。 ツモ上がりしたときの点数計算が正確でない。 七対子の時、25符になってない 天和、地和の判定がない 東風荘に合わせるなら、役牌の役名を(自風、場風、白、発、中)に分けたほうがいい ★C(保留) ★D(調査中) ■更新履歴 0.5.4 リアクション時に、最後のアクションが間違っていることがある。 0.5.3 暗カン、加カンした後、手牌がおかしくなることがあるのを修正。 チャンカンできるようにした。 フリテン時ツモ上がりするとチョンボになるのを修正。 チョンボの時、ログにチョンボの内容も出すようにした。 ・役無し→チョンボ ・フリテン→チョンボ(フリテン) ・ノーテンリーチ→チョンボ(ノーテンリーチ) 0.5.2 AIが指示したアクションを無視することがあるのを修正。 0.5.1 フリテンがチョンボにならないのを修正。 ノーテンリーチ時に流局してもチョンボにならないのを修正。 ドラのみでも上がれてしまうのをチョンボになるように修正。 流局時の七対子と国士のテンパイチェックがおかしいのを修正。・河を絶対値で取ってないところがあったのを修正。 河を絶対値で取ってないところがあったのを修正。 0.5.0 AIInterfaceVersion関数を呼び出すようにした。 AIに関数の追加をお願いします。 とりあえず関数が無くても止まらないようにしてあります。 2順目にリーチしてもダブルリーチになるのを修正。 タンヤオが判定されなくなっているのを修正。 0.4.4 集計ツール「できすぎくん」で読めるようにログを修正。 0.4.3 ドラの判定がまだおかしかったのを修正。 カンをした時、嶺上牌をツモったのがログに表示されないのを修正。 リーチ後、ツモ切り以外ができるのを修正。 チョンボのときに点数が減らないのを修正。 ハイテイがつかないのを修正。 カンした後、ツモが減っていないのを修正。 ダブルリーチがつかないのを修正。 ログで、局開始時のリーチ棒数が間違っているのを修正。 0.4.2 ドラの判定がおかしいのを修正。 ドラの役名が表示されないのを修正。 役牌は飜は追加されているが役名が表示されないのを修正。 0.4.1 チーの後、捨て牌がおかしいのを修正。 ポン、チー時の捨て牌でツモ切りの指示がされた場合、一番左の牌を切るようにした。 捨てられた牌を使わなくてもチーできるのを修正。 0.4.0 MJTAKU構造体を変更。 ・YamaとTsumoを廃止 ・DoraとRestTsumoNumを追加 [注意] 上記変数を使って、ドラと残りツモを取得している場合は修正をお願いします。 上記変数を使ってない場合でもDLLをコンパイルしなおす必要があります。 TakuDispをはずした。使用したい場合は修正する必要がある。 リーチしていてもチョンボになるのを修正。 283さんのMJSinAI_v0.0.4.cppを同梱(デバッグに使ってるので)。 0.3.2 鳴いたあと上がるとチョンボになるのを修正。 ドラが判定されていないのを修正。 食い断は0飜にした。食い断のみでは上がれない。 小三元だけで4飜なのを小三元2飜+役牌2にした。 暗カンすると面前でなくなるのを修正。 0.3.1 AIに余計なデータを渡さないようにした。 (山の情報、他家の手牌は参照しても意味の無いデータが入る) サドンデスをやるようにした。 (東4局以降でも30000点を超えたプレイヤーがいないときは続行) 連荘できるようにした。 (が、有効になっていない。ゲームが終わらないのを防ぐため。 連荘してほしい場合はCMJSim Game()のコードを有効にしてください) 役名を修正。一杯口→一盃口、二杯口→二盃口 「倍満貫」が「跳満貫」と表示されていたのを修正。 七対子がうまく判定されないのを修正。 小三元のとき役牌がつかないのを修正。 0.3.0 MJGAME構造体の名前をMJTAKUに変更した。 (麻雀卓をイメージした構造体であるということがわかりやすい名前の方が、 良いと考えたため) Tehai配列の大きさを46→47にした。 (Tehai[46]には常に0を入れることで、番兵として使えるようにするため) Kawa配列の大きさを137→24にした。 (意味なく大きすぎた。24は、6牌×4列分) 302さんのAIを同梱。 0.2.0 AIの不正な入力を訂正するようにした。 誤ツモ上がり、ロン→チョンボ 持っていない牌を捨てる、誤暗カン→ツモ切り 誤ポン、チー、明カン→何もしない リアクションができなかったのを修正。 ノーテン罰符をとるようにした。 コマンドラインに卓表示 (MJSim Kyoku()内のコードを有効にした場合に表示)。 284さん 294さんのAIを同梱。 その他いろいろ修正。 0.1.1 リーチがログに出ていないのを修正。 試合結果の点数計算が間違っていたのを修正。 AIへ渡すMJGAME構造体を、コピーしてから渡すようにした。 283さんのAIを同梱。 0.1.0 AIをDLLで作成できるようにした。
https://w.atwiki.jp/aviutl-plugin/pages/29.html
GORRY s Homepage 作者/GORRY(後藤浩昭)氏 サイトトップページ、ブログ 配布ページ…http //gorry.haun.org/pw/?fftspectrum FFTスペクトル表示フィルタ最終更新日/2008-02-11 Ver./20080211a 配布(圧縮)ファイル名/fftspectrum_20080211a.lzh更新内容/初公開。 初期ファイル名/fftspectrum.auf メニュー内プラグイン名/FFTspectrum 表示場所/フィルタ&設定 AviUtl対応Ver./? GPU利用/? CPU高速化命令利用/? CPUマルチスレッド高速化利用/? 必須ファイル等/【別途】配布ページでリンクされている「fftw-X.X.X-dll.zip」中のdllファイル3つ(libfftw3-3.dll、libfftw3f-3.dll、libfftw3l-3.dll) 「Plugins」フォルダ内動作/△(dllファイル3つはaviutl.exeと同ディレクトリでないと動作せず) 対応解像度/? インターレース対応/? YUY2フィルターモード対応/? 制限/? 取説同梱/fftspectrum.txt 解説ページ/配布ページ ソース公開/○(同梱) 詳細/“FFTWライブラリを使用して、AviUtl上で映像のYチャンネルの周波数成分を表示。” このフィルタは、TV番組の本来の解像度(HD制作か、SD制作のアプコンか、など)を調べるのに使われているのを見かける。 導入にあたっては配布ページを熟読推奨。