約 5,666,344 件
https://w.atwiki.jp/customcombo/pages/9.html
CustomComboActivation参加者リスト(6月20日0時現在) アルカプ3事前登録者27名、KOF13事前登録者26名 UltimateMarvel vs Capcom 3 プレイヤーネーム 参加に向けて一言 ABEGEN 久しぶりの日本での大会です。皆さんよろしくお願いします! せんてんす 新卒新社会人ですが、身体を壊さない程度に楽しみたいと思います! イヌチヨ 事故はおこるさ NAF|対魔忍 夏目!夏目!夏目!夏目ぅぅうううわぁああ…(中略)…俺の想いよ夏目へ届け!!町田の夏目へ届け! なめ PSパッド勢なのでパッド認証の練習頑張ります! ちくわ 魔界から来ました クロヤ たいつ ポキッ OGTY えらいこっちゃえらいこっちゃ ウダテラス Don't get so cocky. へばてん ズンチャ♪ズンチャ♪ズンチャ♪ズンチャ♪ズンチャ♪ズンチャチャ♪ とのさま エヌケン 嬉しくってよぉ 加減きかねえぜ! 真城 大会と聞いて我慢できずに駆け付けました 御粗末 今月もノーマネーでフィニッシュです カキ アルカプは1年以上触ってません たこひろ KOF zettai REID 遊びに行きやす。 あずき猫 アルカプ初プレイ!お手柔らかに! パム アルカプの集まりは初めてです TSS Takumi がんばりまっす! animus 途中で寝てたら起こさないで下さい たけ HIKAKINよりたれぞう派です もん シュマちゃんLOVE!! オルメン ボタンを押してやる気アピール AFM ディスコビジランテ ってかLINEやってるぅ? King of Fighters 13 プレイヤーネーム 参加に向けて一言 せんてんす 新卒新社会人ですが、身体を壊さない程度に楽しみたいと思います! イヌチヨ 事故はおこるさ NAF|対魔忍 夏目!夏目!夏目!夏目ぅぅうううわぁああ…(中略)…俺の想いよ夏目へ届け!!町田の夏目へ届け! ミュー C連打します! にけー 正しい対戦なんて、あるもんか ウダテラス Don't get so cocky. へばてん ズンチャ♪ズンチャ♪ズンチャ♪ズンチャ♪ズンチャ♪ズンチャチャ♪ エヌケン 嬉しくってよぉ 加減きかねえぜ! リンゴ 楽しみ ちょり 俺様が不滅隊特攻隊長だ!ぶっこんでクンでよろしくぅ! タナ 楽しみです! まう やりまう シギー カキ アルカプは1年以上触ってません たこひろ KOF 書記 俺がバーサスの書記だ。 じゃむ子 酒を飲みながらゲームができると聞いて。 あずき猫 アルカプ初プレイ!お手柔らかに! こうこう ときどさん素晴らしい パム アルカプの集まりは初めてです ピクニック 中級者代表 もぶsカスタム よろしくお願いします オルメン ボタンを押してやる気アピール がく 総+数10000 drassill very nice tournament しんじ スーパーストリートファイターIV アーケード ファイトスティック トーナメントエディション "S" プレイステーション 3 (白) スーパーストリートファイターIV アーケード ファイトスティック トーナメントエディション "S" プレイステーション 3 (黒)
https://w.atwiki.jp/nitro_sa/pages/17.html
ClanMaster Kaj1k!^MaGuR0 Age secret Main Weapon AK-47 Sub Weapon C.Anaconda Resolution 800x600 Mouse Sensitivity 11 Crosshair 4 comments ネーミングセンスNo.1!
https://w.atwiki.jp/wnt0/pages/31.html
要素の集合を表現するオブジェクトと、その集合に含まれる要素を表現するオブジェクトを、一様に扱えるようにしてツリー構造を実現する(再帰構造) 階層の各層を別のクラスで表現すると、似たような機能を持つクラスが多数できてしまうのを解決できる 新しいグループ単位を容易に追加できる 乱用すると論理的に正しくない構造を作り出す恐れがある 循環参照に注意 http //en.wikipedia.org/wiki/Composite_pattern を c++ にしたもの #include iostream #include string #include vector #include algorithm using namespace std; // Componentclass Graphic {public virtual void print() = 0;}; // Compositeclass CompositeGraphic public Graphic {public // constructor CompositeGraphic(const string name) { mName = name; } // print void print() { cout mName endl; vector Graphic* iterator it; for (it = mChildGraphics.begin(); it != mChildGraphics.end(); ++it) { (*it)- print(); } } // add void add(Graphic *graphic) { mChildGraphics.push_back(graphic); } void remove(Graphic *graphic) { vector Graphic* iterator it; it = find(mChildGraphics.begin(), mChildGraphics.end(), graphic); if (it != mChildGraphics.end()) { delete *it; mChildGraphics.erase(it); } }private vector Graphic* mChildGraphics; string mName;}; // Leafclass Ellipse public Graphic {public // constructor Ellipse(const string name) { mName = name; } // print void print() { cout mName endl; } string mName;}; // Clientint main() { // initialize four ellipses Ellipse *ellipse1 = new Ellipse("Ellipse 1"); Ellipse *ellipse2 = new Ellipse("Ellipse 2"); Ellipse *ellipse3 = new Ellipse("Ellipse 3"); Ellipse *ellipse4 = new Ellipse("Ellipse 4"); // initialize three composite graphics CompositeGraphic *graphic = new CompositeGraphic("Graphic"); CompositeGraphic *graphic1 = new CompositeGraphic("Graphic 1"); CompositeGraphic *graphic2 = new CompositeGraphic("Graphic 2"); // Composes the graphics graphic1- add(ellipse1); graphic1- add(ellipse2); graphic1- add(ellipse3); graphic2- add(ellipse4); graphic- add(graphic1); graphic- add(graphic2); // prints the complete graphic graphic- print(); return 0;} 出力 Graphic Graphic 1 Ellipse 1 Ellipse 2 Ellipse 3 Graphic 2 Ellipse 4 http //www.dofactory.com/Patterns/PatternComposite.aspx#_self1 を c++ にしたもの (Structural Example) #include iostream #include string #include list #include algorithm using namespace std; // The Component abstract classclass Component {public // constructor Component(const string name) { _name = name; } virtual ~Component() { // delete 確認 //cout "delete " _name endl; } virtual void Add(Component *c) = 0; virtual void Remove(Component *c) = 0; virtual void Display(int depth) = 0;protected string _name;}; // The Composite classclass Composite public Component {public // constructor Composite(const string name) Component(name) { } // destructor ~Composite() { list Component* iterator it; for (it=_children.begin(); it!=_children.end(); ++it) { delete *it; } } // Add void Add(Component *component) { _children.push_back(component); } // Remove void Remove(Component *component) { list Component* iterator it; if ((it = find(_children.begin(), _children.end(), component)) != _children.end()) { delete *it; _children.erase(it); } } // Display void Display(int depth) { string str(depth, - ); cout str _name endl; // Recursively display child nodes list Component* iterator it; for (it=_children.begin(); it!=_children.end(); ++it) { (*it)- Display(depth + 2); } }private list Component* _children;}; // The Leaf classclass Leaf public Component {public // constructor Leaf(const string name) Component(name) { } // Add void Add(Component *c) { cout "Cannot add to a leaf" endl; } // Remove void Remove(Component *c) { cout "Cannot remove from a leaf" endl; } // Display void Display(int depth) { string str(depth, - ); cout str _name endl; }}; // clientint main() { // Create a tree structure Composite *root = new Composite("root"); root- Add(new Leaf("Leaf A")); root- Add(new Leaf("Leaf B")); Composite *comp = new Composite("Composite X"); comp- Add(new Leaf("Leaf XA")); comp- Add(new Leaf("Leaf XB")); root- Add(comp); root- Add(new Leaf("Leaf C")); // Add and remove a leaf Leaf *leaf = new Leaf("Leaf D"); root- Add(leaf); root- Remove(leaf); // Recursively display tree root- Display(1); delete root; return 0;} 出力 -root ---Leaf A ---Leaf B ---Composite X -----Leaf XA -----Leaf XB ---Leaf C http //www.dofactory.com/Patterns/PatternComposite.aspx#_self2 を c++ にしたもの (Real World Example) #include iostream #include string #include list #include algorithm using namespace std; // The Component Treenodeclass DrawingElement{public // constructor DrawingElement(const string name) { _name = name; } // destructor virtual ~DrawingElement() { // delete 確認 //cout "deleting " _name endl; } virtual void Add(DrawingElement *d) = 0; virtual void Remove(DrawingElement *d) = 0; virtual void Display(int indent) = 0;protected string _name;}; // The Leaf classclass PrimitiveElement public DrawingElement {public // constructor PrimitiveElement(const string name) DrawingElement(name) { } // Add void Add(DrawingElement *d) { cout "Cannot add to a PrimitiveElement" endl; } // Remove void Remove(DrawingElement *d) { cout "Cannot remove to a PrimitiveElement" endl; } // Display void Display(int indent) { string str(indent, - ); cout str " " _name endl; }}; // The Composite classclass CompositeElement public DrawingElement {public // constructor CompositeElement(const string name) DrawingElement(name) { } // destructor virtual ~CompositeElement() { list DrawingElement* iterator it; for (it=elements.begin(); it!=elements.end(); ++it) { delete (*it); } } // Add void Add(DrawingElement *d) { elements.push_back(d); } void Remove(DrawingElement *d) { list DrawingElement* iterator it; it = find(elements.begin(), elements.end(), d); if (it != elements.end()) { delete *it; elements.erase(it); } } void Display(int indent) { string str(indent, - ); cout str "+ " _name endl; list DrawingElement* iterator it; for (it=elements.begin(); it!=elements.end(); ++it) { (*it)- Display(indent + 2); } }private list DrawingElement* elements;}; // clientint main() { // Create a tree structure CompositeElement *root = new CompositeElement("Picture"); root- Add(new PrimitiveElement("Red Line")); root- Add(new PrimitiveElement("Blue Circle")); root- Add(new PrimitiveElement("Green Box")); // Create a branch CompositeElement *comp = new CompositeElement("Two Circles"); comp- Add(new PrimitiveElement("Black Circle")); comp- Add(new PrimitiveElement("White Circle")); root- Add(comp); // Add and remove a PrimitiveElement PrimitiveElement *pe = new PrimitiveElement("Yellow Line"); root- Add(pe); root- Remove(pe); // Recursively display node root- Display(1); delete root; return 0;} 出力 -+ Picture --- Red Line --- Blue Circle --- Green Box ---+ Two Circles ----- Black Circle ----- White Circle 参考サイト デザインパターンを“喩え話”で分かり易く理解する http //www.netlaputa.ne.jp/~hijk/study/oo/designpattern.html TECHSCORE http //www.techscore.com/tech/DesignPattern/index.html/ Programing Place http //www.geocities.jp/ky_webid/index_old.html デザインパターンの骸骨たち http //www002.upp.so-net.ne.jp/ys_oota/mdp/ デザインパターンの使い方 Composite http //japan.internet.com/developer/20080905/26.html
https://w.atwiki.jp/yanch/pages/31.html
アクセスカウンタ - 目次 目次 ActionScriptとは 環境実行環境 開発環境 ドキュメント 例HelloWorld(ActionScript2.0)ソース(HelloWorld.as) コンパイル 実行イメージ ActionScriptとは TODO ここに記事を編集 環境 実行環境 対応するFlashPlayerがセットアップされている環境 開発環境 MTASCGPLのActionScriptコンパイラ(http //www.mtasc.org/) SWFMILLGPLのSWFリソースコンパイラ(http //www.swfmill.org/) ドキュメント http //www.adobe.com/support/documentation/jp/flash/ 例 HelloWorld(ActionScript2.0) ソース(HelloWorld.as) /** * HelloWorld.as */ class HelloWorld { public function HelloWorld(mc MovieClip) { var textFormat1 TextFormat = new TextFormat(); textFormat1.font = _ゴシック ; textFormat1.size = 16; mc.createTextField( tf1 , mc.getNextHighestDepth(), 0, 0, 100, 20); var tf1 TextField = mc.tf1; tf1.setTextFormat(textFormat1); tf1.text = Hello World! ; mc.createTextField( tf2 , mc.getNextHighestDepth(), 0, 20, 100, 20); var tf2 TextField = mc.tf2; tf2.setTextFormat(textFormat1); tf2.text = こんにちは 世界! ; } public static function main() Void { var app HelloWorld = new HelloWorld(_root); }} コンパイル mtasc -main -strict -version 8 -header 320 240 24 -swf HelloWorld.swf HelloWorld.as ノート ActionScript にて日本語を使用する場合には、ソースファイルの文字コードを UTF-8 にする必要がある。 実行イメージ
https://w.atwiki.jp/opengles/pages/20.html
Angle Trigonometry Functions [8.1] Component-wise operation. Parameters specified as angle are assumed to be in units of radians. T is float, vec2, vec3, vec4. T radians(T degrees) degrees to radians T degrees(T radians) radians to degrees T sin(T angle) sine T cos(T angle) cosine T tan(T angle) tangent T asin(T x) arc sine T acos(T x) arc cosine T atan(T y, T x)T atan(T y_over_x) arc tangent Exponential Functions [8.2] Component-wise operation. T is float, vec2, vec3, vec4. T pow(T x, T y) xy T exp(T x) ex T log(T x) ln T exp2(T x) 2x T log2(T x) log2 T sqrt(T x) square root T inversesqrt(T x) inverse square root Common Functions [8.3] Component-wise operation. T is float, vec2, vec3, vec4. |T abs(T x)|absolute value |T sign(T x)|returns -1.0, 0.0, or 1.0 |T floor(T x)|nearest integer = x |T ceil(T x)|nearest integer = x T fract(T x) x - floor(x) T mod(T x, T y)T mod(T x, float y) modulus T min(T x, T y)T min(T x, float y) minimum value T max(T x, T y)T max(T x, float y) maximum value T clamp(T x, T minVal, T maxVal)T clamp(T x, float minVal, float maxVal) min(max(x, minVal), maxVal) T mix(T x, T y, T a)T mix(T x, T y, float a) linear blend of x and y T step(T edge, T x)T step(float edge, T x) 0.0 if x edge, else 1.0 T smoothstep(T edge0, T edge1, T x)T smoothstep(float edge0, float edge1, T x) clip and smooth Geometric Functions [8.4] These functions operate on vectors as vectors, not component-wise. T is float, vec2, vec3, vec4. float length(T x) length of vector float distance(T p0, T p1) distance between points float dot(T x, T y) dot product vec3 cross(vec3 x, vec3 y) cross product T normalize(T x) normalize vector to length 1 T faceforward(T N, T I, T Nref) returns N if dot(Nref, I) 0, else -N T reflect(T I, T N) reflection direction I - 2 * dot(N,I) * N T refract(T I, T N, float eta) refraction vector Matrix Functions [8.5] Type mat is any matrix type. mat matrixCompMult(mat x, mat y) multiply x by y component-wise Vector Relational Functions [8.6] Compare x and y component-wise. Sizes of input and return vectors for a particular call must match. Type bvec is bvecn; vec is vecn; ivec is ivecn (where n is 2, 3, or 4). T is the union of vec and ivec. bvec lessThan(T x, T y) x y bvec lessThanEqual(T x, T y) x = y bvec greaterThan(T x, T y) x y bvec greaterThanEqual(T x, T y) x = y bvec equal(T x, T y)bvec equal(bvec x, bvec y) x == y bvec notEqual(T x, T y)bvec notEqual(bvec x, bvec y) x!= y bool any(bvec x) true if any component of x is true bool all(bvec x) true if all components of x are true bvec not(bvec x) logical complement of x Texture Lookup Functions [8.7] Available only in vertex shaders. vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod) vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod) vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod) vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod) Available only in fragment shaders. vec4 texture2D(sampler2D sampler, vec2 coord, float bias) vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias) vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias) vec4 textureCube(samplerCube sampler, vec3 coord, float bias) Available in vertex and fragment shaders. vec4 texture2D(sampler2D sampler, vec2 coord) vec4 texture2DProj(sampler2D sampler, vec3 coord) vec4 texture2DProj(sampler2D sampler, vec4 coord) vec4 textureCube(samplerCube sampler, vec3 coord)
https://w.atwiki.jp/wnt0/pages/15.html
環境:XPSP3/VS2005 COM の言語:VC++ COM:インプロセスサーバ/デュアルインターフェイス コンポーネント名:TestComp インターフェイス名:TestIF メソッド名:TestMethod クライアントでの COM の初期化等 VC++ クライアント #import "progid TestComp.TestIF" no_namespace named_guids...CoInitialize(NULL);CComPtr ITestIF pIF;pIF.CoCreateInstance(CLSID_TestIF);...// 終了時CoUninitialize(); VB クライアント Dim obj As Object = CreateObject("TestComp.TestIF") VC# クライアント using System.Reflection;...Type t = Type.GetTypeFromProgID("TestComp.TestIF");object target = t.InvokeMember(null, BindingFlags.CreateInstance, null, null, null); BYTE 型 その1 クライアントからデータを渡す COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([in] BYTE prm); クラスメンバ宣言 STDMETHOD(TestMethod)(BYTE prm); メンバ関数実装 STDMETHODIMP CTestIF TestMethod(BYTE prm){ TCHAR str[16]; _stprintf_s(str, _T("%d"), prm); MessageBox(NULL, (LPCWSTR)str, _T(""), MB_OK); return S_OK;} VC++ クライアント HRESULT hr;BYTE var = 0;hr = pIF- TestMethod(var);if (FAILED(hr)) { // エラー} VB クライアント Dim var As Byte = 0obj.TestMethod(var) VC# クライアント byte var = 0;object[] args = { var }; // ボックス化t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, args); BYTE 型 その2 サーバからデータをポインタ渡し COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([out] BYTE* prm); クラスメンバ宣言 STDMETHOD(TestMethod)(BYTE* prm); メンバ関数実装 STDMETHODIMP CTestIF TestMethod(BYTE* prm){ *prm = 123; return S_OK;} VC++ クライアント HRESULT hr;BYTE var = 0;hr = pIF- TestMethod( var);if (FAILED(hr)) { // エラー}_tprintf_s(_T("%d\n"), var); VB クライアント Dim var As Byteobj.TestMethod(var)Console.WriteLine(var) VC# クライアント byte var = 0;object[] args = { var }; // ボックス化ParameterModifier p = new ParameterModifier(1);p[0] = true; // 1番目のパラメータの変更許可ParameterModifier[] mods = { p };t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, args, mods, null, null);var = (byte)args[0]; // ボックス化解除Console.WriteLine(var); BYTE 型 その3 サーバからデータを戻り値として返す COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([out,retval] BYTE* prm); クラスメンバ宣言 STDMETHOD(TestMethod)(BYTE* prm); メンバ関数実装 STDMETHODIMP CTestIF TestMethod(BYTE* prm){ *prm = 123; return S_OK;} VC++ クライアント BYTE var = pIF- TestMethod();_tprintf_s(_T("%d\n"), var); VB クライアント Dim var As Byte = obj.TestMethod()Console.WriteLine(var) VC# クライアント byte var = 0;var = (byte)t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, null);Console.WriteLine(var); BSTR 型 その1 クライアントからデータを渡す COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([in] BSTR prm); クラスメンバ宣言 STDMETHOD(TestMethod)(BYTE prm); メンバ関数実装 #include "comutil.h" // _bstr_t#pragma comment(lib, "comsuppw.lib") // _bstr_tSTDMETHODIMP CTestIF TestMethod(BSTR prm){ _bstr_t str(prm); MessageBox(NULL, (LPCTSTR)str, _T(""), MB_OK); return S_OK;} VC++ クライアント HRESULT hr;_bstr_t str = _T("test message");BSTR bstr = str;hr = pIF- TestMethod(bstr);if (FAILED(hr)) { //エラー} VB クライアント Dim str As String = "test message"obj.TestMethod(str) VC# クライアント string str = "test message";object[] args = { str }; // ボックス化t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, args); BSTR 型 その2 サーバからデータをポインタ渡し COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([out] BSTR* prm); クラスメンバ宣言 STDMETHOD(TestMethod)(BSTR* prm); メンバ関数実装 STDMETHODIMP CTestIF TestMethod(BSTR* prm){ CComBSTR bstr(L"test message"); *prm = bstr; return S_OK;} VC++ クライアント HRESULT hr;BSTR bstr;hr = pIF- TestMethod( bstr);if (FAILED(hr)) { // エラー}_bstr_t str(bstr);_tprintf_s(_T("%s\n"), (LPCTSTR)str); VB クライアント Dim str As String = ""obj.TestMethod(str)Console.WriteLine(str) VC# クライアント string str = "";object[] args = { str }; // ボックス化ParameterModifier p = new ParameterModifier(1);p[0] = true; // 1番目のパラメータの変更許可ParameterModifier[] mods = { p };t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, args, mods, null, null);str = (string)args[0]; // ボックス化解除Console.WriteLine(str); BSTR 型 その3 サーバからデータを戻り値として返す COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([out,retval] BSTR* prm); クラスメンバ宣言 STDMETHOD(TestMethod)(BSTR* prm); メンバ関数実装 STDMETHODIMP CTestIF TestMethod(BSTR* prm){ CComBSTR bstr(L"test message"); *prm = bstr; return S_OK;} VC++ クライアント BSTR bstr = pIF- TestMethod();_bstr_t str(bstr);_tprintf_s(_T("%s\n"), (LPCTSTR)str); VB クライアント Dim str As String = obj.TestMethod()Console.WriteLine(str) VC# クライアント string str = (string)t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, null);Console.WriteLine(str); 配列のやり取り その1 クライアントからデータを渡す SAFEARRAY で 1 バイトサイズの配列を構築したものを VARIANT 型にラップしてパラメータとする。 (VARIANT(SAFEARRAY(BYTE[x])) な感じ) COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([in] VARIANT prm); クラスメンバ宣言 STDMETHOD(TestMethod)(VARIANT prm); メンバ関数実装 その1 CComSafeArray 型を使う #include "atlsafe.h"STDMETHODIMP CTestIF TestMethod(VARIANT prm){ HRESULT hr; CComSafeArray BYTE sa; if ((V_VT(prm) (VT_ARRAY | VT_UI1)) != (VT_ARRAY | VT_UI1)) { // BYTE型配列ではないのでエラー } // SAFEARRAY アタッチ if (V_VT( prm) VT_BYREF) { hr = sa.Attach(*V_ARRAYREF( prm)); if (FAILED(hr)) { // Attach エラー } } else { hr = sa.Attach(V_ARRAY( prm)); if (FAILED(hr)) { // Attach エラー } } // 配列にアクセスする処理 // 例えば… ULONG size = sa.GetCount(); BYTE *pbuf = (BYTE*)CoTaskMemAlloc(size); if (pbuf == NULL) { // CoTaskMemAlloc エラー } // コピーとか… for (ULONG i=0; i size; i++) { *(pbuf+i) = sa.GetAt(i); } // メモリ解放 CoTaskMemFree(pbuf); // SAFEARRAY デタッチ sa.Detach(); return S_OK;} メンバ関数実装 その2 SAFEARRAY 型を使う STDMETHODIMP CTestIF TestMethod(VARIANT prm){ HRESULT hr; SAFEARRAY *psa; BYTE *p; if ((V_VT(prm) (VT_ARRAY | VT_UI1)) != (VT_ARRAY | VT_UI1)) { // BYTE型配列ではないのでエラー } if (V_VT( prm) VT_BYREF) { psa = *V_ARRAYREF( prm); } else { psa = V_ARRAY( prm); } // ロック処理 hr = SafeArrayAccessData(psa, (void**) p); if (FAILED(hr)) { // SafeArrayAccessData エラー } // 配列にアクセスする処理 // 例えば… LONG minidx, maxidx, size; BYTE *pbuf; // 配列のサイズを取得 hr = SafeArrayGetLBound(psa, 1, minidx); if (FAILED(hr)) { // SafeArrayGetLBound エラー } hr = SafeArrayGetUBound(psa, 1, maxidx); if (FAILED(hr)) { // SafeArrayGetUBound エラー } size = maxidx - minidx + 1; pbuf = (BYTE*)CoTaskMemAlloc(size); if (pbuf == NULL) { // CoTaskMemAlloc エラー } // コピーとか… memcpy(pbuf, p, idx+1); // アンロック処理 hr = SafeArrayUnaccessData(psa); if (FAILED(hr)) { // SafeArrayUnaccessData エラー } // メモリ解放 CoTaskMemFree(pbuf); return S_OK;} VC++ クライアント その1 CComVariant, CComSafeArray を使う #include "atlsafe.h"...HRESULT hr;BYTE buf[5] = {1, 2, 3, 4, 5}; // サーバに渡すデータ内容CComSafeArray BYTE sa(sizeof(buf));CComVariant var; // CComSafeArray 準備for (int i=0; i sizeof(buf); i++) { hr = sa.SetAt(i, buf[i]); if (FAILED(hr)) { // SetAt error. }} // CComVariant 準備V_VT( var) = VT_UI1 | VT_ARRAY | VT_BYREF;V_ARRAYREF( var) = sa.GetSafeArrayPtr(); // メソッドコールpIF- TestMethod(var); VC++ クライアント その2 VARIANT, SAFEARRAY 型を使う HRESULT hr;BYTE buf[5] = {1, 2, 3, 4, 5}; // サーバに渡すデータ内容SAFEARRAYBOUND bnd;SAFEARRAY *psa;VARIANT var;BYTE *p; // SAFEARRAY 準備bnd.lLbound = 0; // 配列のインデックスは 0 オリジンbnd.cElements = sizeof(buf); // 要素数psa = SafeArrayCreate(VT_UI1, 1, bnd);if (psa == NULL) { // SafeArrayCreate エラー} // ロック処理hr = SafeArrayAccessData(psa, (void**) p);if (FAILED(hr)) { // SafeArrayAccessData エラー} // 配列にアクセスする処理memcpy(p, buf, sizeof(buf)); // アンロック処理hr = SafeArrayUnaccessData(psa);if (FAILED(hr)) { // SafeArrayUnaccessData エラー} // VARIANT 準備VariantInit( var);V_VT( var) = VT_UI1 | VT_ARRAY | VT_BYREF;V_ARRAYREF( var) = psa; // SAFEARREY を突っ込む // メソッドコールpIF- TestMethod(var); // SAFEARRAY 解放hr = SafeArrayDestroy(psa);if (FAILED(hr)) { // SafeArrayDestroy エラー} VB クライアント Dim buf() As Byte = {1, 2, 3, 4, 5}obj.TestMethod(buf) そのまま突っ込む VC# クライアント byte[] buf = {1, 2, 3, 4, 5};object[] args = { buf }; // ボックス化t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, args); 配列のやり取り その2 サーバからデータをポインタ渡し SAFEARRAY で 1 バイトサイズの配列を構築したものを VARIANT 型にラップしてパラメータとする。 (VARIANT(SAFEARRAY(BYTE[x])) な感じ) COM サーバ IDL メソッド宣言 [id(1), helpstring("メソッド TestMethod")] HRESULT TestMethod([out] VARIANT* prm); クラスメンバ宣言 STDMETHOD(TestMethod)(VARIANT* prm); メンバ関数実装 その1 CComSafeArray 型を使う STDMETHODIMP CTestIF TestMethod(VARIANT* prm){ HRESULT hr; BYTE buf[5] = {6, 7, 8, 9, 10}; // クライアントに渡すデータ内容 CComSafeArray BYTE sa(sizeof(buf)); if ((V_VT(prm) (VT_ARRAY | VT_UI1)) != (VT_ARRAY | VT_UI1)) { // BYTE型配列ではないのでエラー } // CComSafeArray 準備 for (int i=0; i sizeof(buf); i++) { hr = sa.SetAt(i, buf[i]); if (FAILED(hr)) { // SetAt エラー } } // クライアントに渡す if (V_VT(prm) VT_BYREF) { hr = sa.CopyTo(V_ARRAYREF(prm)); if (FAILED(hr)) { // CopyTo エラー } } else { hr = sa.CopyTo( V_ARRAY(prm)); // " V_ARRAY(prm)" で良いのか不明 if (FAILED(hr)) { // CopyTo エラー } } return S_OK;} メンバ関数実装 その2 SAFEARRAY 型を使う STDMETHODIMP CTestIF TestMethod(VARIANT* prm){ HRESULT hr; BYTE buf[5] = {6, 7, 8, 9, 10}; // クライアントに渡すデータ内容 SAFEARRAYBOUND bnd; SAFEARRAY *psa; BYTE *p; if ((V_VT(prm) (VT_ARRAY | VT_UI1)) != (VT_ARRAY | VT_UI1)) { // BYTE型配列ではないのでエラー } // SAFEARRAY 準備 bnd.lLbound = 0; // 配列のインデックスは 0 オリジン bnd.cElements = sizeof(buf); // 要素数 psa = SafeArrayCreate(VT_UI1, 1, bnd); if (psa == NULL) { // SafeArrayCreate エラー } // ロック処理 hr = SafeArrayAccessData(psa, (void**) p); if (FAILED(hr)) { // SafeArrayAccessData エラー } // 配列にアクセスする処理 memcpy(p, buf, sizeof(buf)); // アンロック処理 hr = SafeArrayUnaccessData(psa); if (FAILED(hr)) { // SafeArrayUnaccessData エラー } // クライアントに渡す if (V_VT(prm) VT_BYREF) { hr = SafeArrayCopy(psa, V_ARRAYREF(prm)); if (FAILED(hr)) { // SafeArrayCopy エラー } } else { hr = SafeArrayCopy(psa, V_ARRAY(prm)); // " V_ARRAY(prm)" で良いのか不明 if (FAILED(hr)) { // SafeArrayCopy エラー } } // SAFEARRAY 解放 hr = SafeArrayDestroy(psa); if (FAILED(hr)) { // SafeArrayDestroy エラー } return S_OK;} VC++ クライアント その1 CComVariant, CComSafeArray を使う #include "atlsafe.h"...HRESULT hr;CComSafeArray BYTE sa;CComVariant var; // CComVariant 準備V_VT( var) = VT_UI1 | VT_ARRAY | VT_BYREF;V_ARRAYREF( var) = sa.GetSafeArrayPtr(); // メソッドコールpIF- TestMethod( var); // データ確認for (ULONG i=0, i sa.GetCount(); i++) { _tprintf_s(_T("%d "), sa.GetAt(i));}_tprintf_s(_T("\n")); // SAFEARRAY デタッチsa.Detach(); VC++ クライアント その2 VARIANT, SAFEARRAY 型を使う HRESULT hr;SAFEARRAYBOUND bnd;SAFEARRAY *psa;VARIANT var;BYTE *p; // SAFEARRAY 準備bnd.lLbound = 0; // 配列のインデックスは 0 オリジンbnd.cElements = 0; // 要素数(空)psa = SafeArrayCreate(VT_UI1, 1, bnd);if (psa == NULL) { // SafeArrayCreate エラー} // VARIANT 準備VariantInit( var);V_VT( var) = VT_UI1 | VT_ARRAY | VT_BYREF;V_ARRAYREF( var) = psa; // SAFEARREY を突っ込む // メソッドコールpIF- TestMethod( var); // ロック処理hr = SafeArrayAccessData(psa, (void**) p);if (FAILED(hr)) { // SafeArrayAccessData エラー} // 配列にアクセスする処理// 例えば…LONG minidx, maxidx, size; // 配列のサイズを取得hr = SafeArrayGetLBound(psa, 1, minidx);if (FAILED(hr)) { // SafeArrayGetLBound エラー}hr = SafeArrayGetUBound(psa, 1, maxidx);if (FAILED(hr)) { // SafeArrayGetUBound エラー}size = maxidx - minidx + 1; // データ確認for (LONG i=0; i size; i++) { _tprintf_s(_T("%d "), *(p+i));}_tprintf_s(_T("\n")); // アンロック処理hr = SafeArrayUnaccessData(psa);if (FAILED(hr)) { // SafeArrayUnaccessData エラー} // SAFEARRAY 解放hr = SafeArrayDestroy(psa);if (FAILED(hr)) { // SafeArrayDestroy エラー} VB クライアント Dim buf(0) As Byteobj.TestMethod(buf) そのまま突っ込むConsole.WriteLine("{0} {1} {2} {3} {4}", buf(0), buf(1), buf(2), buf(3), buf(4)) VC# クライアント byte[] buf = { };object[] args = { buf }; // ボックス化ParameterModifier p = new ParameterModifier(1);p[0] = true; // 1番目のパラメータの変更許可ParameterModifier[] mods = { p };t.InvokeMember("TestMethod", BindingFlags.InvokeMethod, null, target, args, mods, null, null);buf = (byte[])args[0]; // ボックス化解除Console.WriteLine("{0} {1} {2} {3} {4}", buf[0], buf[1], buf[2], buf[3], buf[4]);
https://w.atwiki.jp/cohstatsjp/pages/300.html
Vehicle Panzer Elite Panther Contents 1 Panzer Elite Panther Veterancy 2 Tactics 3 History 4 Requires 4.1 Activate Panther Battlegroup 5 Called In Using 5.1 Panther Battle Group 6 Vehicle Abilities 6.1 Vehicle Cover 7 Vehicle Weapons 7.1 75mm Panther 7.2 75mm Panther APCR 7.3 MG42 Coaxial MG 7.4 MG42 Hull MG 7.5 MG42 Turret Panzer Elite Panther Health 742 Max Speed 5.2 Sight 35 Cost 640140 Acceleration 2.5 Detection 0/0 Time 70 Deceleration 4 Hotkey P Population 12 Rotation 35 Target Type armour_panther Upkeep 18.816 Crush Human true Critical Type armour Crush Mode crush_heavy Rear Damage Enabled true Panzer Elite Panther Veterancy [Expand][Hide] Received Damage Received Accuracy Maximum Speed Maximum Health 0.9 0.9 1.15 1.15 Accuracy Reload Cooldown Penetration 1.15 0.9 0.9 1.15 12 Vet-Exp Received Damage Received Accuracy Maximum Speed Maximum Health 0.95 0.95 1.05 1.15 Accuracy Reload Cooldown Penetration 1.15 0.9 0.9 1.15 29 Vet-Exp Received Damage Received Accuracy Maximum Speed Maximum Health 0.95 0.95 1.05 1.15 Accuracy Reload Cooldown Penetration 1.15 0.9 0.9 1.15 51 Vet-Exp Level 2 Special MG42 Gunner Add-On 29 Vet-Exp Level 3 Special Received Penetration Panther Armoured Skirts add-on 0.75 51 Vet-Exp Tactics The Panther has better frontal armour then the Tiger; use this to your advantage by facing the tank s front towards incoming fire. The Panzer Elite can call two Panthers at a time who arrive instantly (can be called from their Headquarters after meeting certain requirements). History After the shock of facing the Soviet T-34 tank for the first time, German designers scrambled to create their own version of this tank to equip their Panzer forces. Though it utilized sloped armour like the T-34, the Panther owed very little to the T-34, aside from inspiration. One of the strengths of the T-34 was its robust and simple construction, something which the designers of the Panther did not copy. Its frontal armour was more effective than the Tiger I s, and it carried a new 7.5cm KwK42 gun that possessed better armour penetration than the Tiger I s 8.8cm KwK36 gun. Though classified as a medium tank, it weighed the same as heavy tanks field by other nations, and boasted the same level of armour and armament. Its ground pressure ratio was excellent, giving it good mobility in off-road areas. All this came at a price, however, as the Panther was initially very unreliable, and later models still required a strict maintenance schedule to stay operational. Requires Activate Panther Battlegroup [Expand][Hide] Cost 12020 Time 30 Hotkey P Effects Enables two Panther tanks to be allocated to support offensive operations. ESee Upgrade Activate Panther Battlegroup for details. Called In Using Panther Battle Group [Expand][Hide] Cost 1000 Activation targeted Duration 0 Target tp_any Recharge 40 Hotkey Effects Two Panther tanks will arrive to support offensive operations. ESee Ability Panther Battle Group for details. Vehicle Abilities Vehicle Cover [Expand][Hide] Cost Activation always_on Duration _ Target tp_any Recharge 0 Hotkey Effects $0 no key ESee Ability Vehicle Cover for details. Vehicle Weapons 75mm Panther [Expand][Hide] Weapon 75mm Panther See Weapon 75mm Panther for details. 75mm Panther APCR [Expand][Hide] Weapon 75mm Panther APCR See Weapon 75mm Panther APCR for details. MG42 Coaxial MG [Expand][Hide] Weapon MG42 Coaxial MG See Weapon MG42 Coaxial MG for details. MG42 Hull MG [Expand][Hide] Weapon MG42 Hull MG See Weapon MG42 Hull MG for details. MG42 Turret [Expand][Hide] Weapon MG42 Turret See Weapon MG42 Turret for details. Retrieved from http //coh-stats.com/Vehicle Panzer_Elite_Panther
https://w.atwiki.jp/customcombo/pages/8.html
・CustomComboActivation事前エントリーは6月20日午前0時に締め切りましたが、当日受付もございます。 ・また今回おごられ君を導入いたしますので、是非登録してください。 読み込み中... SSFIV Arcade FightStick TE "S" スーパーストリートファイターIV アーケード ファイトスティック トーナメントエディション"S" PlayStation3 (白) SSFIV Arcade FightStick TE "S" スーパーストリートファイターIV アーケード ファイトスティック トーナメントエディション"S" PlayStation3 (黒)
https://w.atwiki.jp/morrowind/pages/224.html
Herbalism Lite【薬草をActivateするだけで採取ができ、薬草が復活するまで薬草は消える】 最終更新日 2009-12-17 タグ #H *Mod 操作 概要 Shakeidasさん作。 植物採集の操作を楽にするMod。 従来だとコンテナの中から荷物を取り出すように“草木をOpen”しなければならなかったが、このModを導入すると地面に落ちている物を拾う感覚(Activateキーを押すだけ)で採集ができるようになる。採集できなかったときはメッセージが出る。連打しても特に処理がもたついたり重くなったりした感はない。TES Toolでクリーニングしてから使用しているが、今のところ私の環境では不具合は出てない。 ダウンロード PES -- Herbalism Lite コメント欄 環境音を改善するModの中には植物にスクリプトを追加して植物から音が出るようにしている物がある。そういうModとの衝突が心配。例えばこのModはExpanded Soundsと衝突すると思う(未確認)。でも衝突を放置したとしても発生する問題は環境音が減るくらいかな? -- 管理人 (2007-10-13 21 51 41) Expanded Soundsと併用してますけど何も不具合はありませんよ。 -- 名無しさん (2008-11-25 18 28 16) 名前 コメント
https://w.atwiki.jp/rssiege/pages/98.html
Patch Notes - Update 2.0 PC 2016/2/適用 コンソール 2016/2/ 適用 http //rainbow6.ubi.com/siege/en-US/updates/blackice.aspx BALANCING Operator shouts are now muted for enemy team From now on, the enemy team will not be hearing your team’s automatic character shouts. This will allow for stealthier approaches while maintaining non-verbal communication within the respective teams. Defender objective rotation (for Ranked and Custom Games) In Ranked and Custom Games, Defenders can vote for the objective location they want to defend. We noticed that certain maps have objective locations that are considered easier to defend than others, and that those are frequently being chosen. We believe that it will make for a more competitive and interesting experience to force variety upon the Defenders. From now on, when on the defending side, if a team wins an objective location, they won’t be able to pick it again until they’ve won the remaining locations. If the match goes into overtime, all objective locations become available again. Reduced bullet trail intensity, especially for suppressed weapons Reduced the visibility of bullet trails for all weapons, with an additional reduction for suppressed weapons for a stealthier approach. We believe this tweak will make silenced weapons more useful, as the damage reduction trade-off will now be more worthwhile, on top off the sound reduction. Increased the flashbang range of effect We are roughly doubling the range of flashbangs, making them more effective. Reduced noise levels of multiple Defender gadgets Reduced the noise levels of Mute’s jammers. It will now be considerably lower for Defenders and we reduced the verticality of its sound (will not be heard from two floors up or down anymore). Reduced the electricity noise levels on electrified gadgets. Reduced the noises levels of the Kapkan trap. Reinforced walls and Castle barricades now block bullets while being deployed It used to be possible to get shot while deploying reinforced walls and Castle barricades, even if they seemed to be covering the players. From now on, there will be collision on those surfaces even during deployment and therefore the bullets will be stopped. Thatcher now has a shotgun available in his loadout options We added the English shotgun M590A1 to Thatcher’s loadout options. Removed Bandit’s unique gadget’s (CED-1) electricity damage on the hostage Removed electricity damage on the hostage. This will avoid some edge cases where it wasn’t clear who was responsible for the hostage’s death. PLAYER COMFORT Added map and mode name display during loading and planning phase screens Reduced screen dust effect When surfaces break or explosions occur, nearby players get a dust effect on the border of their screen. We reduced it to be less intense and occluding. Altered matchmaking timer display Timer now counts up to estimated time. Fixed weapon damage numbers in menus We have changed the damage numbers in the menus according to the light armor values. PLAYLIST CHANGES Individual spawn location selection for Attackers (Ranked, Custom Games setting) In Ranked (and as a Custom Game setting), each Attacker can now select their own spawning location instead of having to vote as a group. This will give more tactical flexibility on approaching the building and will also greatly reduce the amount of instances in which Attackers get picked off as a group by the Defenders right as the Action phase begins (team spawn killing). Ranked population repartition tweak Our data tracking shows that the upper ranks (Gold, Platinum, Diamond) are less populated than expected. Therefore, we have reworked how our players are distributed through ranks. This means that many players will see their ranks change instantly after the February 2nd update. Here’s how it was before this update 1.17% Copper (1-4) 34.6% Bronze (1-4) 58.8% Silver (1-4) 5.27% Gold (1-4) 0.1% Platinum (1-3) Less than 0.001% Diamond Note Players in Platinum were often matched against Silver players, almost always against Golds and rarely against other Platinums, which gives the impression that matchmaking is unbalanced. Here’s the repartition we are aiming for with this update 15% Copper (1-4) 25% Bronze (1-4) 35% Silver (1-4) 20% Gold (1-4) 5% Platinum (1-3) 0.2% Diamond We will be closely monitoring how the rank repartition evolves over time and will be doing additional tweaks if needed. To learn more about the Ranked System, read this forum post. Ranked fluctuation parameters tweak From now on, players ranked Silver 3 and below will have a higher fluctuation rate compared to the ranks above that threshold. For example, Bronze 3 could contain players that have skill ratings between 15 and 16.5 while Gold 3 would have a larger spectrum, between 32.5 and 35. The intention behind this is that players from the lower ranks can climb out of them faster. This will make it more fun for newer or less experienced players, while the constant, highly skilled players will be able to maintain their rank. OTHER IMPROVEMENTS Web feature Tactical Board improvements Auto-save. The Tactical Board will now automatically save tactics in progress every 30 seconds. This will prevent you from losing your work if any disconnection or bug occurs while working on a tactic. It will also allow you to leave the Tactical Board without having to hit the Save button. Just make sure you noticed the “Autosaved” text popping on the top of the Tactical Board, to the right of the tactic name. Maintenance alerts. The Tactical Board will alert you of upcoming maintenances 15 minutes prior to downtime. Fixing the Tactical Board bugs requires us to switch off the servers for some minutes. When a maintenance is upcoming, you’ll see a warning on the bottom of the board. As we also have the autosaves ongoing, there will be less risks to lose your work, which will occur only if you edit the tactic 30 seconds or less before the maintenance starts. Texts are now easier to select and edit. Bug fixes. Fixed an issue preventing users to validate the removal of the tactician. Fixing an issue making undo/redo actions sometimes unresponsive until a change of tool was made. Inviting someone in the tactic will now correctly update the Attendees panel (top right). Fixing an issue preventing to dismiss a share notification from their dashboard when clicking "See it later". MAIN BUG FIXES Please be aware that this is not an exhaustive list and that we are only highlighting fixes that were done about the most commonly raised bugs. GAMEPLAY FIXES Right stick dead zone is resetting to default after exiting the game - FIXED Thermite can’t place an Exothermic Charge on damaged and reinforced walls - FIXED Attackers win if a teammate kills Fuze as soon as he detonates his cluster charge on the hostage – FIXED Guard break does not work if a shield-wielding Operator moves while receiving a melee hit - FIXED When in rappel mode, the Operator does not have collision under specific structures and clips through textures when moving upwards – FIXED End of round camera clips through the Operator – FIXED PVE on rare occasions one of the AI doesn’t spawn at the start of a match - FIXED PVE AI Engineers end up in a loop between evade and idle reaction for every damage tic received from poison gas – FIXED LEVEL DESIGN FIXES Defenders are able to pass through red blocker walls during the preparation phase - FIXED Players in support mode sometimes don’t get a correct replication of the watched player’s point of view. For example, the player could have destroyed a wall and seen through it while the player watching in support mode would see an intact wall. - FIXED On the Hereford Base map, players are able to get out of the building through the red blocker wall when vaulting over the sandbags during the preparation phase. - FIXED On the Oregon map, players can see through the ceiling when vaulting over the bunk bed. – FIXED On the Kafe Dostoevsky, character can remain stuck when vaulting on a recycle bin in EXT Park Alley – FIXED On Consulate map, character can remain stuck between chairs at the Visa Office location – FIXED On the Kanal map, players can see out of world through the ceiling if he placed his drone over the air vents in the Hallway. – FIXED There are minor lighting issues on our maps. – FIXED ONLINE FIXES The game sometimes boots on CENTRAL-US data center instead of WEST-EUROPE – FIXED Some players don’t receive renown after a match. – FIXED 0-0x00000602 error is sometimes being received when returning from a matchmaking game to looking for players step - FIXED 2-0x00000067 error is sometimes being received when trying to join a squad having previously went through a direct disconnection - FIXED 2-0x00000068 error is sometimes being received when accepting a party invite. - FIXED Some players from a squad are left in the main menu when searching for a match if specific steps were not followed - FIXED There is no timer present during the lobby screen - FIXED Player gets stuck indefinitely loading a lobby when joining in progress if a player of the same game got killed and then quit the lobby first. - FIXED Some users are getting the "Connection Failure" error every time challenges reset while in-game – FIXED PVE On some occasions, players are not awarded XP points and Renown after finishing Terrorist Hunt sessions. – FIXED Ranked Players leaving for any reason except a network disconnection receive no warning and are automatically banned for 2 minutes – FIXED PC, Ranked Players leaving match using F10 don’t receive reconnect message – FIXED PC, Ranked Players leaving match using ALT+F4 don’t receive reconnect message - FIXED UI FIXES A placeholder appears on the prompt with the abandoned match message after quitting a Ranked game – FIXED On the House map, missing location indicator in Laundry Room - FIXED MISCELLANEOUS FIXES PC If the player switches Aiming settings From Hold to Toggle, the player can’t ADS in Tachanka’s Turret - FIXED PC Some keys are hard binded in the game involving movement and chat box - FIXED PC Push-to-talk functionality is missing in the Options menu - FIXED Uplay Alpha Team Uplay action is not unlocked after completing 50 ranked matches - FIXED 名前