[Nexus7]StickMountで日本語ファイル名

どうも、hide92795です
—2/5追記—
コメントにて接続する機器がFAT32でないとダメ(NTFSでは表示されない)という情報をいただきました。
既に4.2へアップグレードしてしまっている上にNTFSのディスクを持っていないので確かめたわけではないので
ご了承をおねがいします。
————-
StickMountホント便利
PC無いけどUSBに保存してある資料やらなんやらを見たい
って時に大活躍ですw
ただ日本語ファイル名がバグる
全部「?」に置き換わるので見難いっちゃありゃしないw
そこで
Android端末でUSB-OTGの文字化け対策メモ
こちらを参考に文字化けを解消して行きましょー
今回はNexus7 (4.1.2 JZO54Kにアップグレード済み)及び全てAndroid上で行うという感じでやっていきます

配布されているモジュールを魔改造します。
ここから先は自己責任でお願いします。


1.nls_utf8.koの準備
cifs module for 3.1.10-g52027f9
ここの最初の投稿に添付されている
「jb-3.1.10-g52027f9.zip」をダウンロード
適当なところに解凍すると
stickmount_1
3つのファイルが出てきます。
今回の目的は「nls_utf8.ko」だけなので他は削除しても大丈夫です。
2.4.1.2へ対応させる
今回はAndorid上ですべて行うというのを目標にしているので、Android上で動作するバイナリエディタ
HexEditor
をダウンロード&インストールします。
そしてHexEditorで先ほどのnls_utf8.koをオープン
0x129から始まる「g52027f9」を「g009b6d1」に書き換えます
編集する際には編集方法をHEXからASCIIに変えたほうがいいと思います。
編集が終わったら保存します。
ちなみに、改造後のMD5は「2bb61d79bd218da23887bd411c4d5293」になるはずです
3.ファイル移動
別に「nls_utf8.ko」の位置はそのままでも大丈夫です
ただ、Downloadsフォルダに入っていてもアレなので移動させましょう
先ほどの参考サイトのように「system/lib/modules」でもいいですし、
フォルダ作るのめんどいという人は「/system」だけでもいいでしょうw
4.ModuleLoaderの準備
この「nls_utf8.ko」をシステムに読み込ませるために手動でもいいですが、さすがにめんどいのでアプリに頼みましょう
[APP][2.2+] Module Loader 1.1
こちらも最初と同じように「ModuleLoader-release.apk」が添付されているのでダウンロード&インストールをします。
そしてModuleLoaderを起動
stickmount_2
「System Modules」をタップすると「nls_utf8.ko」が出てくるはずです
これをタップし、「Save Selection」を押します。
5.StickMountの設定
StickMountを起動させ、LAUNAGEのUTF-8にチェックを入れます。
そしてNexus7を再起動させれば終わりです


stickmount_3
無事に日本語ファイル名が表示されるようになりました。
やっぱりこういうのは便利ですねww
ではノシ

Nexus7 届いたよ!

どうも、hide92795です
ようやくNexus7が届きました
10/5に発送→10/8到着でした
ちなみに明細書?には10/3注文と書かれていました
(注文日の書き換えが結構多いそうで)
nexus7
到着したのはもちろん16GB
早速rootを取って色々遊んでみましたww
ちなみにrootの取得にはNexus Root Toolkitというものを使いました
ツール自体は英語ですが、これを買えるだけの金がある年齢層なら読める程度の英語だと思いますw
操作感ですが、前に買ったIS11S(Xperia acro)と比べると
・はやい!
・ヌルヌル!
・画面でかい!
とまぁさすがはTegra 3 & RAM1GBといったところでしょうかw
ホームはNova、ブラウザは火狐を使用することにしました
今のところは不満なしです
そして今日このようなタブレットに良い感じにマッチするというキーボード
pokemon_keybord
バトル&ゲット ポケモンタイピングDS
が届きましたw
いろいろなところで噂になっていますが、このキーボードは普通のBlueToothキーボードとして使えますw
・値段が2000円弱
・本当は子供向けの製品のため多少乱暴に扱っても壊れないタフさ
・デザインのシンプルさ(ロゴなどが描かれていない)
などのお得感あふれる?キーボードなのです!
使ってみましたが非常にしっかりしていて良い感じでしたw
そしてケースなのですが、まだ届きませんww
米アマゾンにて
MoKo Slim Cover Case , Black (Elastic Hand Strap, and Stylus Loop)–Lifetime Warranty
こちらを買いましたが、送料の安い方のオプションを選んだところ
「Your estimated delivery date is:
Wednesday, October 17, 2012 –
Friday, October 26, 2012」
というわけで後1週間ほどおあずけです\(^o^)/
液晶保護シートはミヤビックスの
OverLay Magic for Nexus 7
が楽天のほうで在庫有りになっていたのでポチりましたw
こちらは3-4日で届くそうです
早く全部が揃うことを願っていますw
ではノシ

Nexus7が届かないいいいいいいいいい

どうも、hide92795です
話題のAndroidタブレット「Nexus7」をGooglePlay上から購入しました。
https://play.google.com/store/devices/details?id=nexus_7_16gb&feature=nexus-home-page
発売日は25日なのですが、注文したのは30日・・・・・・
「注文から30時間ほどで届いたという情報も見つけたのでこれなら店頭販売(10/2)よりは早いだろ」
って思ったのが運の尽き
見事に配送メールが来ません\(^o^)/
そもそも注文するときに「カートに追加」の上に表示されている
「1~2 週間以内に発送します。」
という表記をちゃんと見ていればよかったorz
ちなみに発売当初は3-5日だったりしたそうです
んでまぁちょっと凹んでた時にさらなる追い打ちが!
Nexus 7 はどこへ行った。28日注文で到着の報告あり、EXPANSYSが倉庫担当か 未着回答587件へ | タブクル
タブクルさんの方の記事で多くの人が配送されていないということを知りました。
(最初にこれを見つけていれば今日の店頭販売へ行ったのに・・・ よく調べなかった罰ですね☆)
タブクルさんのサイトを見ればわかるように色々と心配なことが書かれています
自分のN7は何処へ!
そして今日頼んだケースやらなんやらのほうが早く着くのか!
Googleさんお願いしますmm
ではノシ

[PSO2]ドゥドゥさんマジイケメン

どうも、hide92795です
PSO2面白いですよね、うん
ゲーム内で必ずといっていいほどお世話になるドゥドゥさん
タルラッピーキャノンを+10までにするのにグラインダー100個ほど持っていかれましたが、
最近は何故かデレてくれているのですww
ドゥドゥ(pso2) – ニコニコ大百科
最近の功績は
・カルバリアフィン+10直行
・カルバリアトール能力追加 約23%(一発)
dudu_1
(C)SEGA
・カルバリアウィング能力追加 15%(二発)
dudu_2
(C)SEGA
ウィングの方はこれを作った後にシュートⅢ付与が60%にできると気づいたのでそれを狙うべきだったかもしれませんw
ではノシ
『PHANTASY STAR ONLINE 2』公式サイト
http://pso2.jp/

Twit Sync v2.00 公開

どうも、hide92795です
なんだかんだでTwit Syncの更新です。
変更点は、
・GUIの再編成
・TwitterAPI1.1への対応
・フォローリスト表示機能の追加
・各種バグの修正
です
特に、認証関係での動作が今までのよりわかりやすくなっています。
(逆に今までのがクソすぎた(´・ω・`))
また、いろいろいじったせいで今までの認証ファイルは使えなくなってしまいました。
なので、お手数ですがもう1度認証からお願いいいたします。
除外ファイルについてですが、今までの.tsefは今後も使えますが、この形式に保存することはできません。
今バージョンから保存形式は.tsef2となります。
気をつけて下さい。
DL用URLは↓の記事に書いてあります
http://hide92795.blog27.fc2.com/blog-entry-42.html
ではノシ

Twit Time for Android v1.30 公開

どうも、hide92795です
先ほどの記事の通り、Twit Time for Android v1.30を公開しました。
変更点は
・詳細表示画面を追加
・報告されていたバグを修正
・広告の挿入(メイン画面及び結果表示画面)
になります。
1番目については前の記事にて解説してあります。
また、詳細表示画面のメニューからも飛べるようにしてあります。
https://play.google.com/store/apps/details?id=hide92795.Twit_Time_Android&feature=search_result
ではノシ

Twit Time for Android v1.3 の新機能

どうも、hide92795です
Twit Time for Androidを公開してまもなく1年が経つのかな?
早いものですねw
今では、900人ほどの方にインストールしていただいている状態です。ありがとうございます。
(ちなみにPC版の方はexe+jarの合計で10000DLを超えました。こちらもありがとうございます。)
そして、Twit Time for Android v1.3がまもなく公開となります。
意欲がなくなったりでしばらく放置になっていましたが、なんかやる気が出てきたのでww
v1.3における新機能は
・詳細表示画面の追加
です。
詳細表示画面とは、PC版の方にあるボタンを押すと右にひょこっと出てくるアレです。
時間計測にあたって、127post/3hというのを使っていますが、Twitterの使用上126だったり128だったりふらふらします。
126になった時は数秒~数分ほどのズレになりますが、128のように設定した閾値よりも大きい場合、計算結果が時間単位でずれてしまう可能性があります。
その127か128か126かを判別するために、詳細画面は存在します。
どれでは詳細画面の使い方です。


まず、算出結果を表示する画面においてスタートボタンを押して算出した時のみ「左にフリックして詳細を表示」というラベルが表示されます。
twit_time_for_android_v1_30_1
この画面で、右から左にフリックをすると、
twit_time_for_android_v1_30_2
このような画面が表示されます。
この画面が詳細表示画面です。
この画面の各要素↓
twit_time_for_android_v1_30_3
これの左上の数字は算出したアカウント上の新しい方から何番目のツイートかを表す番号です。
その下の時間は、上の数字番目のツイートの投稿時間です。
そして、右の「+ooo秒」というのは、一つ下のツイートとの投稿時間の間です。
それでは、この画面の使い方です。
はじめに、およそ127番目のツイートらへんまでスクロールします。
(スクロールに結構時間かかるのでメニューキーから127番目まで飛べるようにしておきます。)
そして、127番目付近で投稿時間の間がやけに多いところを見つけます。
twit_time_for_android_v1_30_2
↑の画像の場合は127番目のツイートがその対象です。
間が大きいところが127番目(もし設定で閾値を変えているならその数字)なら、問題ありません。
もし、126だったり128だったり、違う番目の場合は、ズレが生じています。
ずれていた場合は、その投稿時間の間がやけに多い要素の部分を長押しします。
すると、これに修正するか? みたいなダイアログが出ますので「はい」をタップしてください。
タップすると結果表示の画面に戻ります。
戻った時に、結果として表示される時間は修正されたものになっています。
これで完了です。


仕組みとしては、規制されるほどの連投が始まった最初のツイートを基準点とするようにするというものです。
また、画面を見るとわかりますが、v1.3より画面下部に広告を入れさせて頂きます。
広告の領域は初めにとってありますので、ボタンがあった位置に広告が表示される なんてことは無いと思います。
ではノシ

 

[Java]LWJGLで動画再生

どうも、hide92795です
ゲームエンジンの作成にあたり、結構悩んでいたのが動画再生についてです。
Javaで動画再生といえばJMFを使用したものが有名ですが、プラットホームごとのインストーラーがあったり、プラットホームに依存しないバージョンだと対応フォーマットが皆無に等しかったりといろいろと難点があったのです。
さらにLWJGLではSwing上にて動作自体はできるものの、JMF用のPanelに切り替えた時にどんな問題が発生するかわからないなど結構なリスクがありました。
そこでグーグル先生で色々調べていたところ、
http://www.java-gaming.org/index.php?topic=24846.30
↑のサイトを見つけました。この中の画像が貼り付けられている投稿に書かれているURL
http://www.java-gaming.org/?action=pastebin&id=23
こちらにはソースコードが書かれています。
投稿があったスレッド名は「VLCJ in OpenGL / LWJGL」です。
このVLCJというのはVLCPlayerの機能をJavaで使えるようにしているライブラリです。
VLCJ – http://www.capricasoftware.co.uk/vlcj/
ではまず下準備から
今回はWindows&Eclipse使用を前提としています。
1.必要なライブラリ等
・LWJGL
・VLCJ(↑のURLからDL出来ます)
・JNA(jna.jar, platform.jar)(VLCJのダウンロードページにリンクがあります。)
・libvlc.dll&libvlccore.dll(VLCのインストールディレクトリにあります)
2.ソースコード
基本的には先程のURLのソースですが、一部修正をしてあります。

修正箇所はmainのはじめに書かれている行です。
jarに対してネイティブライブラリの登録をしたのですが、何故かダメだったので直接ソースコードに。
あとは、再生したい動画ファイルをクラスパス直下において、

のop00.mpgの名前を変え、フィールドの一番上にあるWIDTHとHEIGHTの値を変えるだけです。
lwjgl_movie
↑RewriteのOPを拝借して再生してみましたが、問題ありませんでした。
基本的にVLCで再生出来るものなら問題ないと見て大丈夫でしょう。
ではノシ

C82 報告やらなんやら

どうも、hide92795です
C81の記事でC82は早くに行かないと言ったな。
あれは嘘だ。
というわけでC82行って参りましたw
今回のコミケに参加するにあたって、前回と変えたところは
・西に並んだ
・カタロム with Androidを採用
といったところでしょうか。
初めの西に並ぶというところですが、西の入場が始まった後に西東ブース/企業の分かれ道があり、さらにその先に東/西の分かれ道があります。
10:00の拍手をする段階では前回のC81が確定待機列から少し動いたところで今回は会議棟(ビックサイトの象徴的な建物のアレ)のほぼ真下というわけで、巷で噂の西からのほうが早いというのはあながち間違いでもないかなと思いました。
2つ目のやつですが、AndCCVというアプリにカタロムのデータをぶち込んで使ったのですが、メリットとデメリットを
メリット
・待機中とかに追加で調べたり、リストに追加したりできる
デメリット
・全体マップが小さくなってしまう(Xperia acroのせいもある)ので、次の場所がわからなくなったりする
というわけで、これ一本に頼るのは厳しいですが、カタロムから印刷したものと合わせれば結構使いやすいと思います。
んで、今回のC82で学んだこと
1.小銭/弊紙を入れる簡単なポーチ(カメラケース的な、ベルトに通せる奴)があると良かった
→左は札、右は小銭みたいな とにかくすぐに出せれば別の方法でも全然OK
2.マップを覚える
→白地図をそのまま覚えておいて損はない。今回場所が印刷した地図を見ながらやっていたら隣の列に入っていたり・・・
3.食べ物はそこまでいらない
→朝飯を食べてくるなら。パサパサしているのはのどが渇くのでやめておいた方がいい。ランチパック系がいいかも
4.雨対策はしっかりと
→今回は外に並んでいるときに急な雨にやられました。。。とっさに雨合羽を出したので大丈夫でした。傘でもいいけど待ち行列の中で全員が傘となるとあれなので雨合羽推奨。
5.睡眠大事
→前日準備が長引いたせいでろくに寝られず。。。。向こうにいる間は(テンションのせいなのか)眠くはありませんでしたが、帰りの電車に乗った瞬間に強烈な睡魔が・・・ 大井町で友達と別れた後から横浜到着までの記憶がありませんw
今回のC82は待機中から曇りで、気温が30度前後だったので楽な感じでした。
一番後悔しているのは自分の中で期待度トップ3にはいるサークルの本が一部売り切れてしまっていたということ(既刊だったので元々が少なかったというのもあったのかな?新刊は大丈夫でした)
最初は壁に行かないと並びが大変なことになってしまうので壁→島という順番は変わりなさそうですが、次からは壁の近くに押さえておきたいところがあったらそっちを優先してみる というのも手かもしれません。(今回は壁が4,売れちゃったところが1だったので少し無理がありましたけどねw)
あと1つ言うと買ったものを入れる袋にはチャック(とりあえず開け口を閉じれるような)があったほうがいいかもしれません。 横浜駅で電車を待っているときに足元においておいた袋が倒れて危うく中身が飛び出るところでしたww
今回の成果
購入冊数:23 使用金額:約16k
次回について色々書いていますが、C83はいけるかどうか。。。(多分80%くらいの確立で行くけどw)
大学入ったらサークルとしての参加もしてみたいですねw
↑のせいか、エンジンの開発が再度活発化しましたw
最近はプログラミングがなんかだるくてあまりいじっていなかったんですよねw
ではノシ

[Java]暗号化しながらストリームで書き出し&読み込み

どうも,hide92795です
夏休みの補習っていうのがね(´・ω・`)
ホント辛いですよw
今回はノベルゲームのエンジンに搭載予定の暗号化システムについて
使用する暗号化方式はAES、モードはPCBCです。
PCBCというわけで、復号化の際にはIVというのが必要になります。
IVは暗号化の際に取得できるのでそれをどうにか復号化の際に使える状態にしなければいけないのですが、
今回はこちらのサイトにて紹介されている方法である
「ファイルの先頭にIVを引っ付ける」
という方法で行きたいと思います。
まずは暗号化

上から順に解説すると
1.暗号化するファイルのFileInputStreamを生成
2.暗号化に用いるKeyを作成(鍵は16文字のStringみたいです)
3.AES/PCBC/PKCS5PaddingにてChiperを作成&初期化
4.出力先のFileOutputStreamを作成
5.↑をCipherOutputStreamで包む
6.FileOutputStreamにIVを書き込む
7.CipherOutputStreamに暗号化するデータを書き込む
となります。
今回はIVを平文の状態で書かなければいけないのでFileOutputStreamの方に書き込みます。
続いて復号化

こちらも上から順に
1.Keyの生成
2.暗号化したファイルのFileInputStreamの生成
3.IV用のbyte配列を作成
4.FileInputStreamからIV部分を3の配列に読み込み
5.Chiperを生成
6.4で読み込んだIVからIvParameterSpecを生成
7.6を使ってChiperを初期化
8.CipherInputStreamでFileInputStreamを包む
残りはChiperInputStreamで読みこむなりまた別のStreamに渡すなりしておkです
実際に暗号化してみたのが下の画像
crypt_sample
左が暗号化前、右が暗号化後
JPEGなので左ではExif情報があらわになっていますが、右では全く読めなくなっていますw
ファイルサイズは殆ど変わらず、暗号化後が8バイト増えただけでした
ちなみに、ファイルを圧縮したい場合は、FileOutputStreamをZipOutputStreamで包んだ(new ZipOutputStream(fis)みたいに)ほうが圧縮率がいいらしいです。
ではノシ