2012-05-05
MUGEN用キャラ・シェリスエルネス α2 (Ver.0.2.0) を公開ですよ
プロジェクト開始から早1年以上経ちまして、ようやく相手をぶん殴れるようになりました。
コレを期にバージョンを0.2.0に上げてます *1
そして触りたいという方*2のために、MediaFireとSkyDriveにUploadしております。
公開先
公開ファイル
- Sherisernes-0.2.0-Rev.99-win.7z - SkyDrive・MediaFire
- Win版MUGEN対応版
- Sherisernes-0.2.0-Rev.99-win2011.7z - SkyDrive・MediaFire
- 新MUGEN (1.0版) 対応版
- Sherisernes-0.2.0-Rev.99.7z - SkyDrive・MediaFire
- 上記2種類を一つにまとめたもの
- Sherisernes-0.2.0-Rev.99-src.7z - SkyDrive・MediaFire
- ソースコードパッケージ (誰が得するんだ( ゚д゚))
- Sherisernes-0.2.0-Rev.99-full.tar.gz - SkyDrive・MediaFire
- ローカル作業用Mercurialリポジトリのバックアップアーカイブ(作業環境を覗くとかいう特殊用途以外に需要はないよね…ね?)
何も考えずにSherisernes-0.2.0-Rev.99-win.7zかSherisernes-0.2.0-Rev.99-win2011.7z、もしくはSherisernes-0.2.0-Rev.99.7zをダウンロードしてください。他のはわかる人向けです。
紹介動画
2012-04-06
JNIを使ったJavaプログラムをCygwinのGCJでexe化した時のメモ
まぁ、まずはJNIから
JavaにはJNIっていう、メソッドをC/C++で書ける機能があります *1。
例えば次のようにmainすらnative化出来たりしますね
public class HelloWorld { static { System.loadLibrary("hw"); } public static native void main(String[] args); }
これを実行できるようにするにはクラスファイルの作成とネイティブ部分のDLLを作るという二度手間になります。
まぁ、まずはネイティブ用のヘッダを吐き出して、
$ javac HelloWorld.java # コンパイル $ javah HelloWorld # ネイティブ関数用ヘッダを作成
このヘッダを使ったプログラムを次のように実装しておきます。
#include <iostream> #include "HelloWorld.h" JNIEXPORT void JNICALL Java_HelloWorld_main(JNIEnv* env, jclass cls, jobjectArray args) { std::cout << "Hello, World!" << std::endl; jsize length = env->GetArrayLength(args); for (jsize i = 0; i < length; i++) { jstring arg = (jstring) env->GetObjectArrayElement(args, i); const char* buf = env->GetStringUTFChars(arg, NULL); std::cout << "Arg " << i << " = " << buf << std::endl; env->ReleaseStringUTFChars(arg, buf); } }
$ cl /nologo /EHsc /I%JAVA_HOME%\include /I%JAVA_HOME%\include\win32 /Fehw HelloWorld.cpp
次にGCCの場合。あ、ココで使ったGCCはTDM-GCCの4.6.2です。
$ g++ -I%JAVA_HOME%\include -I%JAVA_HOME%\include\win32 -c HelloWorld.cpp $ g++ -shared -o hw.dll HelloWorld.o -Wl,--kill-at
でまぁ、これでhw.dllが出来たので *2 実行すれば「Hello, World!」に続いて与えた引数がだらだらと垂れ流されます。
で、GCJ
GCJってのはGNUのGCC系列にあるJavaコンパイラです。Javaのソースもしくはクラスファイルから実行可能ファイルを作成できるネイティブコンパイラですね。
ただWindowsだとCygwinのGCCでしか利用できないのがネックですが *3
ようやく本題
問題はここで、上記のWindows DLLを使ったJavaプログラムをCygwin GCJでネイティブ化した時にどうやってnativeメソッドを使えるようにするか、です
2012-04-05
2012-03-20
|ω・`)ノ ヤァ
|д゚) お久しぶりですね。
|д゚) 書くネタがなかったので放置してました
などというネタは置いておきまして。更新作業してないんでマジに書くネタがなかった。
書くとしてもTwitterに投下したシェリス様ドットの再掲になってそれはそれでつまらないので、放置してました。m(_ _)m。
いやくるみの作成開始したとかシェリス様に通常技が搭載されたとかはあるんですが
でまぁ書くネタがちょいと転がり込んできたのでそれを書こうかと。
ちょいとしたバグですけどね
デストロ氏経由でわかったんですが、1.0版のMUGENでリスリム氏のSeal他いくつかのキャラを相手にするとウチのキャラ側のノックバックが発生しないという現象がありまして。*2
原因自体はSeal側にめくり防止用としてWidthステコンが仕込まれてて、それをnullにするとかで無効にするとノックバックが復活するんですが。
ここにき1.0版とWin版で挙動が違う疑惑です。
以下推測
Sealの場合画面端から常に3dot前に移動してるので、たぶん
- ノックバック判定は防御側が画面端に居ると発生する
- Widthで常に3dot画面端から離れる
- なのでエンジン側としては「画面端に居ない」が成立
- よってノックバックなし
なんじゃないかなー。
検証求む
2012-01-25
とりあえず全キャラ更新ですよっと
MUGEN | |
![]()
更新点は以下の二点です。
- ロングジャンプ (大ジャンプ) が小ジャンプに化ける問題を修正
- 強コマンド技が弱コマンド技に化けることがある問題を修正
発覚したのが3ヶ月前なんだけどね (;´∀`)
あとあやねの永久はもうちょい待ってください *1
*1:忘れてた
2012-01-17
良キャラ発掘絵巻に出てたので
で
なんかシールドでないって言われて思わず確認したんだけど、手元だと出ちゃうんだよなぁ。全部ONでも。
一応コマンド的には
| ブロッキング | → or ↘ |
|---|---|
| ジャストディフェンス | ← or ↙ |
| シールド | → or ↘ + 弱P + 弱K |
なんですが。まぁブロとシールドが有効だとシールドを前を同時に入れつつやると実はウラでブロッキングも同時に起動してるんだけどね
2011-12-30
PC掃除しました
雑記 | |
![]()
対象はファン&ヒートシンク。
使っているのはDellのStudio 1557なので、その分解手順 (コレ) の通りに
裏のカバーを外してHDD取り出してディスプレイ外してキーボード取っ払ってパームレストもなかったことにしてマザーボードを裏返してヒートシンクを外しました *1
で。とりあえずヒートシンク部分を水ですすいで綿棒で中を拭きとったらこんな↓ことになってた。
一回拭いただけで綿棒の先が真っ黒である。*2
熱暴走の原因はお前か!
まぁ何とか指傷めたりして戻してブログ書いてる←今ココ
それでなんと、ブラウザ開いているのにCPU温度が50℃台!今まで絶賛70℃余裕だったのに!
ちゃんと掃除はしましょうねってことか(´・ω・`)
…で、この余ったネジはどうするべきか*3




ニコニコ生放送でchiku2gonzalezさんのキャラクターを使ってる物を見て一目惚れしたので、早速ダウンロードさせていただきに参りました。
素敵なキャラ満載ですごく満足しています。
それでは、失礼します。
AIレベル設定が見当たらないのです。
いったいどこにあるんですか?
( ゜д゜) Readmeに書いてなかった…
>> 00R氏
すいませんReadmeのドコにも書いてませんねm(_ _)m
<Win版の場合 / 1.0とのハイブリッド版の場合>
Luna.stの1570行目付近
[State -3: Set AI Level]
type = VarSet
triggerall = var(59) = 0
trigger1 = var(58) > 0
v = 59
value = 3 ; AI Level (1 - N) <- ココを1〜4の範囲で設定
;value = AILevel ; from MUGEN rc1
ignorehitpause = 1
<1.0版の場合>
MUGEN本体のCPUレベルに準じます
(記述自体は1575行目です)
です。