Hatena::ブログ(Diary)

永字八法 RSSフィード Twitter

 | 

2011-10-06 Thursday

nsaの中にあるBMPを外に出すプラグインnsaout.dll

名前のとおりの何か。
http://www.eiji8pou.net/download/nsaout20111006.zip

使い方!

exec_dll "nsaout.dll/from.bmp,to.bmp"
; nsaフォルダの中にあるfrom.bmpを、to.bmpと言う名前で外部に出力する。

注意点!

追記

ファイルを間違えたので再アップ。

HDD復旧顛末

裸族のインテリジェントビル5Bay USB3.0 eSATAコンボ(今から考えると、かなり無駄な高スペック) と HGST 3.5inch 7200rpm 2.0TB 64MB SATA 6.0Gbps 二台を揃えたのでRAIDとやらを組んでみた。単純なRAID1ミラーリングである
設定してみたものの、つないでも動かない。認識しない。泣けた困った。
そのままにして数日が経過した後、兄から電話がかかってきたので、野暮用を済ますついでに聞いてみる。あっさり解決。Windows側でなんかしないといけなかったらしい。
その後、(論理フォーマットして使えるようになった。
で、バリバリデータを移す。高い大容量をRAIDまで組んだんだ、これをアーカイブにしてしまえばいーじゃんいーじゃん? そんな感じで、ほうぼうから自炊本とか動画とかをどんどん入れる。これで、500GBくらいは埋まった。
さらに、溜りに溜まった画像を動かしてみた。動かすのはプログラムにやらせたので、数はわからないのだが、だいたい40,000ファイルくらい動かしたあたりで書き込みエラーが出た。残り10,000ファイルくらいじゃなかったかしら。
しかし、画像がこの数ってのもなかなかすごいな。やっぱり、画像認識して分類タグ付けする人工知能の開発が急がれるね。
で、かぶった画像なんかは省きながら(画像の同定にはMD5を使った)、それをjpgからpngに変換しつつ動かしたのだが、途中で失敗した。

ふてくされるだけでは何なので、修理を依頼してみた。ここで間違えたなーと後で思ったのは、先に誰かに相談してもよかったことだ。
ググッて見つかった最初の方にあった業者に、フォームから無料診断をお願いした。
日月曜日電話で反応があったので、詳しく説明、早速HDDを送った。頼んだぞクロネコ! ちなみその時対応した人は、クラッシュした理由はハード的なものでは?と推測していた。物理的にアレしていたか、ファームウェアがアレしていたか、そんな感じ。

早速中身をみてもらう。速くて高いコース(データの鮮度が高いままなので復旧可能性高)とゆっくり安いコース(前者の逆)のどちらかと、入ってたデータのうちどれを優先するかを聞かれた。なので、考えた末にゆっくりコース(流石に高いんよ)、優先は自炊本のpdfで、pngjpgは最悪破棄でよい、と回答。で、最大5日くらいかかると言われて作業に入ってもらった。
で、本日木曜日10月6日、症状的にはほんと単純にディレクトリが壊れてただけみたいで、すぐにほぼ全てが復旧できたっぽい。それを告げる電話があった訳だが。
「ええ、○○○とか×××とか無修正とかのフォルダが見えて、その中のファイルAAAとかBBBとか、普通に開けますね。相当ありますけど、全部大丈夫みたいです」
他人にハードディスクの中身を読み上げられるって、これ一体なんて羞恥プレイ? 例えば釘宮声で言われたりしたらそれはそれで興奮もできるだろうけど、男に言われてもなー。いやいやいや、贅沢はいかん。いやいやいや、それもなんか違う。

で、本日は料金を振込み、最短で日曜日には戻ってくる予定。

AllocDIBの仕様

同じく超俺メモ
NScripterDLLに対して開放している関数の中に、AllocDIBなるものがある。
これを使えば、DLLの中で、スプライト等を介さずに直接nsaファイルの中の画像を引っ張り出せる。
なお、事前にNScripter側でaddnsadirを実行していれば、DLLの中からの探索でもそれは有効である
※これを使って、nsaファイルの中のファイルを好きなファイル名で外部に出力するDLLが組めるなあ、と言うところで寝る。

void nsa2out(char *from_filename, char *to_filename){
	DIBDATA dib;

	/* ファイルの取得 */
	AllocDIB(&dib, from_filename);

	/* ヘッダー作成 */
	unsigned char header[54] = {
		66,77,54,16,14,0,0,0,0,0,54,0,0,0,	/*_BITMAPFILEHEADER_*/
		40,0,0,0,128,2,0,0,224,1,0,0,1,0,24,0,0,0,0,0,	/*_BMPINFOHEADER_前半_*/
		0,16,14,0,19,11,0,0,19,11,0,0,0,0,0,0,0,0,0,0	/*_BMPINFOHEADER_後半_*/
	};

	/* サイズ設定 */
	header[18] = dib->width % 256;
	header[19] = int ( dib->width / 256 );
	header[22] = dib->height % 256;
	header[23] = int ( dib->height / 256 );

	/* 出力 */
	int line = dib->width * 3;
	while ( 0 < line % 3 ) { line ++; }
	FILE *fp;
	fp = fopen(to_filename, "wb");
	fwrite(header, sizeof(header[0]), 54, fp);
	fwrite(dib->bits, sizeof(unsigned char), line * dib->height, fp);
	fclose(fp);
}

NSAGetFileの仕様

超俺メモ。3時間くらいはまったような気がする。
NScripterDLLに対して開放されている関数に、NSAGetFileなるものがある。これについてうまく動かなくてがたがた暴れてしまったので、仕様を記すことにする。
NSAGetFileは、ファイル名を指定すれば、nsaファイル群の中を探してそれがあるかどうか、あった場合には、どのnsaファイルか、その他よくわからん数値を二つ返す。

	char *filename = "bgm_mode\\all_btn.bmp"; // 探したいファイル名を定義
	char arc[256]; // どのnsaファイルに入っているか、ファイル名を受ける文字列配列を定義。
	// よくわからん数値二つ。
	unsigned int ptr = 0;
	unsigned int size = 0;

	NSAGetFile(filename, arc, &ptr, &size);
	// これで、arcの中にnsaファイル名が入る。

なんかそうとう肩透かしな関数だったな。

2011年10月05日のツイート

 | 

Notice

コメント等は基本的に自由ですが、通りすがりとかななしさんとかの場合、いじっても面白くないので放置する可能性があります。

最近のエントリー

カウンター:
<< 2011/10 >>
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
あわせて読みたい
過去ログ
0000 | 00 |
1800 | 10 |
1908 | 06 |
1983 | 06 | 12 |
1985 | 01 | 08 | 09 | 10 | 11 |
1986 | 10 |
1990 | 01 | 02 | 03 | 04 | 05 | 06 |
1995 | 01 |
1996 | 02 | 03 | 04 | 05 | 06 |
1997 | 03 | 05 |
1999 | 02 | 09 |
2000 | 00 |
2001 | 12 |
2002 | 01 | 02 | 03 | 04 |
2003 | 04 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2004 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 |

Mail Form
お名前
メールアドレス
本文
公開の是非 公開してもよござんす/公開してはいけません
ブロ電™切符
RSS feed meter for http://d.hatena.ne.jp/eiji8pou/
著作権保護期間の70年延長に反対
NHK(日本放置協会)は放置される側の団体です
やる気の無いサイトリング
時間のないサイト運営者リング
ヒロインリコメンダー
私設コミケカタログ
「ひぐらしのなく頃に」を応援しています。
07th Expansion
「ひぐらしのなく頃に」のネタばれがあるのです。

最新コメント一覧

1. 04/29 柊
2. 02/13 湖都
3. 02/13 eiji8pou
4. 02/13 湖都
5. 10/06 湖都
6. 10/06 リメ
7. 10/06 eiji8pou
8. 10/06 リメ
9. 02/13 パンダ5
10. 05/26 eiji8pou
11. 05/26 パンダ5
12. 05/26 パンダ5
13. 10/01 リメ
14. 10/01 eiji8pou
15. 09/17 eiji8pou

最新トラックバック一覧

1. 06/19 Twitter / @maedaema
2. 01/14 同人サークル 金沢自転車学校 - NScripterでプレーヤーに文字入力...
3. 01/14 吉野家 ゆでたまご
4. 12/18 ガンダム無双3
5. 08/18 長山洋子 動画
6. 06/20 聖☆おにいさん(5) (モーニングKC) |中村 光
7. 06/01 Twitter / @fkm
8. 04/03 長山洋子 おにゃんこ
9. 07/03 Myrmecoleon in Paradoxical Library. はてな新館 - Sat, Dec 19
10. 08/03 幻惑密室 西澤保彦
11. 10/01 Atelier de Muguet 制作記録 - エフェクト自作 その2
12. 10/07 Atelier de Muguet 制作記録 - 圧縮方式について
13. 09/27 Atelier de Muguet 制作記録 - 花火
14. 09/27 Atelier de Muguet 制作記録 - 花火
15. 09/26 Atelier de Muguet 制作記録 - マップ自動生成

言及URL

1. むいむい。の所蔵 / figma ファイアボール チャーミング ドロッセル( チャーミング) - メディアマーカー
2. t.co
3. 占ぃったー
4. Twitter / eiji8pou: わたしの今日の運??
5. Twitter / eiji8pou: [MM登録] コミックヴ
6. Twitter / eiji8pou: [MM登録] figma ファイ
7. eiji8pou (eiji8pou) :: twtr2src | Post your Twitter timeline to Evernote or send by mail everyday!
8. t.co
9. t.co
10. t.co

言及ISBN/ASIN

1. バブルガムクライシス 超鋼守護天使 (朝日ノベルズ)
2. UN‐GO 敗戦探偵・結城新十郎(1) (カドカワコミックス・エース)
3. UN‐GO~因果論 (カドカワコミックス・エース)
4. 京四郎と永遠の空 (1) (カドカワコミックスドラゴンJr)
5. 京四郎と永遠の空 (2) (角川コミックスドラゴンJr. (KCJ99-2))
6. 京四郎と永遠の空 3 (角川コミックス ドラゴンJr. 99-3)
7. 私立樋渡高校COMICS (1) (角川コミックス・エース・エクストラ)
8. 私立樋渡高校COMICS (2) (角川コミックス・エース・エクストラ)
9. アトムちゃん (単行本コミックス)
10. 舞-HiME戦 (電撃コミックス EX 144-1)
11. 武装神姫2036 3 (電撃コミックス)
12. 魔王なあの娘と村人A〈3〉ロボ娘は今日も空を飛べない (電撃文庫)
13. キャッツ・ワールド (2) (ドラゴンコミックス)
14. レイモンド2 (ドラゴンコミックス 56-6)
15. TWD express vol.1 (NORAコミックス)
16. 白貌の伝道師 (星海社FICTIONS)
17. 殺竜事件 (講談社ノベルス)
18. 悲鳴伝 (講談社ノベルス)
19. デビルマン(1) (講談社漫画文庫)
20. デビルマン(2) (講談社漫画文庫)
21. デビルマン(3) (講談社漫画文庫)
22. デビルマン(4) (講談社漫画文庫)
23. デビルマン(5) (講談社漫画文庫)
24. AKB0048ハート型オペレーション(1) (KCデラックス)
25. RD 潜脳調査室(1) (マガジンZコミックス)
26. ミニマム(1) (ヤングマガジンコミックス)
27. AKB0048 EPISODE0 1 (講談社コミックスなかよし)
28. 漢式青春ばくはつ劇場(2) (KCデラックス)
29. 銃夢 Last Order(17) (KCデラックス)
30. 銃夢 Last Order NEW EDITION(10) (KCデラックス)

言及JAN/EAN

1. HGST 3.5inch 7200rpm 2.0TB 64MB SATA 6.0Gbps
2. 裸族のインテリジェントビル5Bay USB3.0 eSATAコンボ
3. luv wave
4. 妄想科学シリーズ ワンダバスタイル 1(限定盤)
5. 妄想科学シリーズ ワンダバスタイル 1
6. 妄想科学シリーズ ワンダバスタイル 2
7. 妄想科学シリーズ ワンダバスタイル 3
8. 妄想科学シリーズ ワンダバスタイル 4
9. 妄想科学シリーズ ワンダバスタイル 5
10. 妄想科学シリーズ ワンダバスタイル 6
11. カステラ あんサンド
12. ScanSnap S1500
13. スタンド型ワンクリックスキャナー
14. アンドロイド ローション付
15. FUTURE LOID ミクティー
16. FUTURE LOID ミクティ ver.2.0
17. ミクティPocket
18. ミクティPocket Ver.2.0
19. ヴァージンロイド ルルカ ローション付
20. ヴァージンロイド リンリン ローション付
21. Transformers: The Movie
22. アニメ★マニア
23. 『超重神グラヴィオンツヴァイ』オリジナルサウンドトラック
24. 月光嗜好症〜moonlights intoxication〜
25. 雪と氷の旋律
26. Noblerot
27. MUSIC TRACKS FROM Wi
28. 麗人ニルヴァーナ来駕〜ボクのアンドロ
29. 星と月のソナタ
30. 決定盤! ローカルヒーロー大全集

eiji8pouのアンテナ

1. Yahoo!ブログ - マンガ好きの戯れ言
2. ほぼ日刊資料保存
3. 『書店員の本音で生きたい!』
4. くすみんと
5. 放蕩オペラハウス
6. ゆうきさらのほんよみにっき
7. すいーとポテト@はてな
8. 本屋さんからの風景
9. diary / nowadays
10. はてなダイアリー - 永字八法
11. 富士書房
12. EXPLORE MONOGAMY BLOG
13. 雑多三昧記//禅
14. みてのとおりのありさまだ
15. 駄目社員はむの日記
16. 落葉のささやき
17. 雲上四季
18. モルツーの日々
19. ”裏”日本工業新聞!!
20. 本のがんこ堂 ブログ

注目URL

1. t2b - Twitterのツイートをブログに自動投稿
2. georss - GeoRSS
3. # - Twitter Search
4. 読書メーター - あなたの読書量をグラフで管理
.
.
.
.
.
.

注目ISBN/ASIN

1. ドラゴンクエストモンスターズ テリーのワンダーランド3D
2. きのう何食べた?(6) (モーニング KC)
3. レセプタクル (書籍扱い楽園コミックス)
4. 乙嫁語り 4巻 (ビームコミックス)
5. 東雲侑子は全ての小説をあいしつづける (ファミ通文庫)
6. カゲロウデイズ -in a daze- (KCG文庫)
7. スマイレージ ベストアルバム完全版 (1) (初回生産限定盤)
8. ドラゴンクエスト25thアニバーサリー モンスター大図鑑
9. ドラゴンズドグマ
10. 私がモテないのはどう考えてもお前らが悪い!(2) (ガンガンコミックスONLINE)

最新JAN/EAN

1. クリアアサヒ スリムボトル缶 350ml
2. ハーゲンダッツ クレープグラッセ ティラミス
3. ハートキャッチプリキュア! 耐熱コップ
4. ハーゲンダッツ kajitsu マンゴー
5. トイザらス限定 スマイルプリキュア! なりきりキャラリートキッズ

注目JAN/EAN

1. クリアアサヒ スリムボトル缶 350ml
.
.
.
.

書いたコメント