chikuchikugonzalezの雑記 Twitter

2012-05-05

MUGEN用キャラ・シェリスエルネス α2 (Ver.0.2.0) を公開ですよ

| 00:19 | MUGEN用キャラ・シェリスエルネス α2 (Ver.0.2.0) を公開ですよを含むブックマーク MUGEN用キャラ・シェリスエルネス α2 (Ver.0.2.0) を公開ですよのブックマークコメント

プロジェクト開始から早1年以上経ちまして、ようやく相手をぶん殴れるようになりました。

コレを期にバージョンを0.2.0に上げてます *1

そして触りたいという方*2のために、MediaFireとSkyDriveにUploadしております。

公開先
公開ファイル
Sherisernes-0.2.0-Rev.99-win.7z - SkyDriveMediaFire
WinMUGEN対応版
Sherisernes-0.2.0-Rev.99-win2011.7z - SkyDriveMediaFire
MUGEN (1.0版) 対応版
Sherisernes-0.2.0-Rev.99.7z - SkyDriveMediaFire
上記2種類を一つにまとめたもの
Sherisernes-0.2.0-Rev.99-src.7z - SkyDriveMediaFire
ソースコードパッケージ (誰が得するんだ( ゚д゚))
Sherisernes-0.2.0-Rev.99-full.tar.gz - SkyDriveMediaFire
ローカル作業用Mercurialリポジトリバックアップアーカイブ(作業環境を覗くとかいう特殊用途以外に需要はないよね…ね?)

何も考えずにSherisernes-0.2.0-Rev.99-win.7zかSherisernes-0.2.0-Rev.99-win2011.7z、もしくはSherisernes-0.2.0-Rev.99.7zダウンロードしてください。他のはわかる人向けです。

紹介動画

D

*1:0.1=α1, 0.2=α2, 0.3=α3…となってます

*2:居るのかそもそも

2012-04-06

JNIを使ったJavaプログラムをCygwinのGCJでexe化した時のメモ

| 01:30 | JNIを使ったJavaプログラムをCygwinのGCJでexe化した時のメモを含むブックマーク 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);
	}
}

で、これをDLLにします。まずはVC++の場合

$ 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ってのはGNUGCC系列にあるJavaコンパイラです。Javaのソースもしくはクラスファイルから実行可能ファイルを作成できるネイティブコンパイラですね。

ただWindowsだとCygwinGCCでしか利用できないのがネックですが *3

ようやく本題

問題はここで、上記のWindows DLLを使ったJavaプログラムCygwin GCJネイティブ化した時にどうやってnativeメソッドを使えるようにするか、です

続きを読む

*1Javaの利点たるWrite once, run anywhereを完全に捨てることになりますが

*2:hw.dllの名前はSystem.loadLibraryで使っている名前です

*3MinGW版をリンクしようとして-mno-cygwinをつけるとGCJが怒る(´・ω・`)

2012-04-05

なんかデスクトップ晒しが流行ってたみたいなので

| 01:13 | なんかデスクトップ晒しが流行ってたみたいなのでを含むブックマーク なんかデスクトップ晒しが流行ってたみたいなのでのブックマークコメント

うちの作業状態をそれっぽく整形 *1 したのがコレ

f:id:chikuchikugonzalez:20120406010634p:image:w800

ViXで画像を管理しつつSAE *2SFFAIRとSNDを弄ってる。

そして記述はVIM (キリッ

編集中のファイルは.stの元になるファイルとMakefileです

なんでコマンドプロンプトも起動してるかって?それがないと落ち着かないからさWin版と1.0版を同時にやるためのツール *3コマンドラインツールなので

追記

背景要求された(´・ω・`)

f:id:chikuchikugonzalez:20120406011739p:image:w640

さらに編集:飯テロさんを削除

*1デスクトップ散らかりすぎてたので

*2:載せ忘れた

*3:作った

2012-03-20

そーいえば

| 00:53 | そーいえばを含むブックマーク そーいえばのブックマークコメント

SkyDriveMUGEN/WIPフォルダに置いてあるシェリス様α版をひっそり更新してます *1

|ω・`)ノ ヤァ

| 00:52 | |ω・`)ノ ヤァを含むブックマーク |ω・`)ノ ヤァのブックマークコメント

|д゚)チラッ

|д゚) お久しぶりですね。

|д゚) 書くネタがなかったので放置してました

などというネタは置いておきまして。更新作業してないんでマジに書くネタがなかった。

書くとしてもTwitterに投下したシェリス様ドットの再掲になってそれはそれでつまらないので、放置してました。m(_ _)m。

いやくるみの作成開始したとかシェリス様に通常技が搭載されたとかはあるんですが

でまぁ書くネタがちょいと転がり込んできたのでそれを書こうかと。

ちょいとしたバグですけどね

デストロ氏経由でわかったんですが、1.0版のMUGENでリスリム氏のSeal他いくつかのキャラを相手にするとウチのキャラ側のノックバックが発生しないという現象がありまして。*2

原因自体はSeal側にめくり防止用としてWidthステコンが仕込まれてて、それをnullにするとかで無効にするとノックバックが復活するんですが。

ここにき1.0版とWin版で挙動が違う疑惑です。

以下推測

Sealの場合画面端から常に3dot前に移動してるので、たぶん

  1. ノックバック判定は防御側が画面端に居ると発生する
  2. Widthで常に3dot画面端から離れる
  3. なのでエンジン側としては「画面端に居ない」が成立
  4. よってノックバックなし

なんじゃないかなー。

検証求む

*1:専用のフォルダも作りました

*2:どうやらWin版では起きない模様

2012-01-25

とりあえず全キャラ更新ですよっと

| 01:58 | とりあえず全キャラ更新ですよっとを含むブックマーク とりあえず全キャラ更新ですよっとのブックマークコメント

更新点は以下の二点です。

  1. ロングジャンプ (大ジャンプ) が小ジャンプに化ける問題を修正
  2. 強コマンド技が弱コマンド技に化けることがある問題を修正

発覚したのが3ヶ月前なんだけどね (;´∀`)

あとあやねの永久はもうちょい待ってください *1

そしてQK2Key氏がこのブログ見れない件はどうしたらいいですか(´・ω・`)

*1:忘れてた

N.seiichiN.seiichi 2012/02/06 14:27 初めまして、最近MUGENを始めました。

ニコニコ生放送でchiku2gonzalezさんのキャラクターを使ってる物を見て一目惚れしたので、早速ダウンロードさせていただきに参りました。

素敵なキャラ満載ですごく満足しています。

それでは、失礼します。

00R00R 2012/05/03 05:47 すみません、ルナ姫木DLしたんですが、
AIレベル設定が見当たらないのです。
いったいどこにあるんですか?

chikuchikugonzalezchikuchikugonzalez 2012/05/03 14:32 > 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行目です)


です。

00R00R 2012/05/11 15:46 すごく遅れてしまいましたが、返答ありがとうございました!

2012-01-17

良キャラ発掘絵巻に出てたので

| 01:58 | 良キャラ発掘絵巻に出てたのでを含むブックマーク 良キャラ発掘絵巻に出てたのでのブックマークコメント

宣伝である。AIは汁番氏のです。*1

D

なんかシールドでないって言われて思わず確認したんだけど、手元だと出ちゃうんだよなぁ。全部ONでも。

一応コマンド的には

ブロッキング→ or ↘
ジャストディフェンス← or ↙
シールド→ or ↘ + 弱P + 弱K

なんですが。まぁブロとシールドが有効だとシールドを前を同時に入れつつやると実はウラでブロッキングも同時に起動してるんだけどね

*1:動画でやってた「赫訳 紅葉→鳥を落とす」ができない件(´・ω・`)

2011-12-30

PC掃除しました

| 23:41 | PC掃除しましたを含むブックマーク PC掃除しましたのブックマークコメント

対象はファン&ヒートシンク

使っているのはDellのStudio 1557なので、その分解手順 (コレ) の通りに

裏のカバーを外してHDD取り出してディスプレイ外してキーボード取っ払ってパームレストもなかったことにしてマザーボードを裏返してヒートシンクを外しました *1

で。とりあえずヒートシンク部分を水ですすいで綿棒で中を拭きとったらこんな↓ことになってた。

ぎゃーす  on Twitpic

一回拭いただけで綿棒の先が真っ黒である。*2

熱暴走の原因はお前か!

まぁ何とか指傷めたりして戻してブログ書いてる←今ココ

それでなんと、ブラウザ開いているのにCPU温度が50℃台!今まで絶賛70℃余裕だったのに!

ちゃんと掃除はしましょうねってことか(´・ω・`)




…で、この余ったネジはどうするべきか*3

*1:ココでじつはドキュメントに書いてあるネジの位置が違ったのは無視

*2:結果綿棒を6本くらい使った

*3:組み終わった後に出てきた