2009-09


戻る

2009-09-01T18:29:34 (Tue)

ずっと帰省してたんよ

21 日に北海道へ行って,23 日に岡山へ行ってそのまま徳島に帰って,30 日まで徳島でダラダラしてました.本当にダラダラ.

ゲーム製作もドン詰まって本当に酷い帰省でした orz

やったことと言えば,

・酷道 439 号線の京柱峠を攻略
・おおかみかくし読破
・ドリームクラブ開始

くらい.

ドリクラは 28 日にとある方の実況プレイ動画配信を見て購入を決意w 品薄状態になっているのを懸念して念のためにソフトだけを徳島で確保し,そして 1 日に関東へ戻ってきてから台風の中ヨドバシに行って箱○を確保しました.

あとそこでついでにヨドバシカメラのクレジットカードも申し込み.人生 3 枚目のクレカです.1 枚目の Citi カードは年会費が掛かるようになるのでもうすぐ解約するとして,2 枚目の三菱東京 UFJ 銀行のカードもポイントや特典がショボいのでそろそろ見切りをつけます.

帰省時にサモにクレジットカードを作るよう促して (Xbox Live や DLC や Amazon での買い物が楽になるよ,ってことで) ヤマダ電機のカードを申し込みするように言ったので,自分も勢いづいてヨドバシで申し込みをしたというわけです (あんまり因果関係無いとか言わない).

やっぱり今の時代クレカは 1 枚は持っておくと何かと便利ですよ,えぇ.うちもプロバイダの料金はカードじゃないと払えませんでしたし,ETC も使えませんし… 何より Amazon での買い物が (^^;

2009-09-02T21:46:02 (Wed)

らき☆すた神輿が本気過ぎる

「らき☆すた神輿」お目見え 鷲宮神社通り 6日の「土師祭」

こーちゃん先輩,宮川姉妹,永森のやまとさんまで居るとは,よくやりましたね! >∀<

見に行きたいですがあいにくコミトレなので行けません.ガックシ orz

2009-09-04T06:09:13 (Fri)

ラブプラスを買った

一応入手しましたです,ハイ.

ヨドバシ特価で約 4,800 円おいしいです ^q^

まだ友達パートですが,恋人パートにならないと恐ろしく単調なゲームですな…これ…

ドリクラもまったりプレイ中ですが,急がないと再来週にはアイマス DS とサガ 2 が発売されてしまう (・ω・)

2009-09-06T23:04:04 (Sun)

少女漫画雑誌「なかよし」にて『アイドルマスターDS』特集が載る

少女漫画雑誌「なかよし」にて『アイドルマスターDS』特集が載る

日本の少女たちオワタwwww\(^o^)/

少女的には女装少年 (涼ちんこ) はアリなのか…?

2009-09-07T22:13:59 (Mon)

多重債務の恐怖

お前ら、借金だけは絶対するなよ。 (ハムスター速報 2ろぐ)

少し前にも消費者金融の金利や多重債務者のことは問題になりましたなぁ.

そのときにニュースで聞いたことですが,多重債務に陥った人を救うために絶対にしなければならないことが「必ず『全ての』借金を聞き出すこと」だそうです.一件たりとも残してはいけない,と.

このメルマガの最後の内容のネタバレになりますが,本当にそうなんだね…と… (--;

2009-09-07T22:19:47 (Mon)

ラブプラスぼちぼち進めてます

まだリアルタイムモードには手を出していませんw

これをやり出すと本当に (リアルの) 手帳に「週末はデート…と…」とか書き始めるらしいですねw

とりあえず姉ヶ崎先輩とお付き合いを開始しました.開始までに掛かった時間は 75 日.もっと短くは出来ないのかねこれ?

さて,それでは現在流行っているという「彼女とドリームクラブへ行く」という遊びを行うとしますかwwww

※関連
ラブプラス が本日発売されました。 (【2ch】ニュー速VIPブログ(`・ω・´))

2009-09-11T15:24:13 (Fri)

「らき☆すた」が埼玉を紹介 10月8日別刷り特集発行

「らき☆すた」が埼玉を紹介 10月8日別刷り特集発行 (Web 埼玉)

>特集では、主人公の「泉こなた」「柊かがみ・つかさ」姉妹らが、県内の新名所やB級グルメを紹介。

みゆきさん… (´;ω;`)

2009-09-12T04:39:56 (Sat)

DX ライブラリの printfDx を Squirrel 側から使う

Squirrel の print 関数を DX ライブラリの printfDx に対応させる方法です.

可変長引数で受け取ったものをそのまま printfDx へ可変長引数として渡すことが出来ないので,一度 vsprintf という関数を挟みます.

#include <DxLib.h>
#include <cstdio>
#include <cstdarg>

/** 文字列表示用関数 */
#pragma warning (disable : 4100) //引数の未使用に対する警告を無視
#pragma warning (disable : 4996) //vsprintf の使用に対する警告を無視
void print(HSQUIRRELVM v, const SQChar* s, ...)
{
 char buf[4096]; //適当に大きく取っておく
 va_list arglist;
 va_start(arglist, s);
 vsprintf(buf, s, arglist);
 ::printfDx(buf);
 va_end(arglist);
}

どこかで以下を実行して print 関数として登録.

::sq_setprintfunc(v, print);

こうすると Squirrel スクリプト側から画面に簡単に文字列を表示出来るようにもなるのでオススメだと思います.また,後で紹介しますが sqstd_printcallstack というデバッグにおいて非常に便利な関数も使えるようになります.

続き : sqstd_printcallstack がとっても便利

2009-09-13T00:23:12 (Sun)

sqstd_printcallstack がとっても便利

Squirrel に付属している簡易インタプリタ sq.exe で Squirrel スクリプトを動かしたとき,実行時エラーが発生するとコードのどこを実行した際にエラーが出たのか,またそのときローカル変数がどうだったのかが見られます.

これをゲームに組み込んだ際にも見られるようにしましょう (^ω^)

実行時エラーが起こった際にそれを捕捉する方法も交えて紹介します.

まず,次のようなエラーハンドラと呼ばれる関数を作ります.

/** エラーハンドラ */
#pragma warning (disable : 4702) //return 文への未到達に対する警告を無視
SQInteger handleError(HSQUIRRELVM v)
{
 //エラー発生時にはスタックの -1 番目にエラー情報,-2 番目に table (※何かは未調査) …となっている.
 const SQChar* desc;
 ::sq_getstring(v, -1, &desc);
 char errorMsg[1024]; //適当に大きくとっておく
 sprintf_s(errorMsg, 1024, "%s", desc);
 ::sqstd_printcallstack(v);
 ::ScreenFlip(); //こうすることで強制的に表示
 MessageBox(NULL, errorMsg, "実行時エラー", MB_OK | MB_ICONEXCLAMATION);
 ::exit(1);
 return 0;
}

後は次のようなコードを実行してやれば,実行時エラーが発生したときにエラーハンドラが実行されるようになります.

//エラーハンドラ設定
//v は SQUIRRELVM
::sq_pushroottable(v); //関数を登録するルートテーブルをスタックに積む
::sq_pushstring(v, _SC("___MyErrorHandler"), -1); //関数名をキーとしてスタックに積む
::sq_newclosure(v, handleError, 0); //新規関数を作成
::sq_newslot(v, -3, SQFalse); //ルートテーブルの新規スロットに関数をセットする
::sq_pop(v, 1); //ルートテーブルの除去
::sq_pushroottable(v); //関数の探索対象テーブル設定する (今回はルートテーブル)
::sq_pushstring(v, _SC("___MyErrorHandler"), -1); //関数名 (キー) の設定
::sq_get(v, -2); //関数のフェッチ,フェッチした関数のスタックへの push
::sq_seterrorhandler(v); //push した関数をエラーハンドラとして設定
::sq_pop(v, 1); //ルートテーブルを除去

色々面倒ですがエラーハンドラの辺りは色々と個性やらアイディアやらを出せそうな感じがするところではあります.即終了とか芸がないよね,とは思いますが私は面倒なのでとりあえずこのままでw

ちなみに,7 行目と 8 行目にルートテーブルを pop してまた push して…という動作がありますが,これは 7 行目までの処理が「関数をバインドする」という一連の動作であり,それをコピペしただけなのでこうなっています.

実際,私の開発環境では最初の pushroottable から 7 行目までの処理を

/**
* C/C++ の関数をバインドする<br />
* (C/C++ の関数を Squirrel VM に登録する (ルートテーブルに登録する))
* @param v Squirrel VM
* @param f 登録する関数の関数ポインタ
* @param fname 関数名
*/
void bindFunction(HSQUIRRELVM v, SQFUNCTION f, const SQChar* fname)
{
 ::sq_pushroottable(v); //関数を登録するルートテーブルをスタックに積む
 ::sq_pushstring(v, fname, -1); //関数名をキーとしてスタックに積む
 ::sq_newclosure(v, f, 0); //新規関数を作成
 ::sq_newslot(v, -3, SQFalse); //ルートテーブルの新規スロットに関数をセットする
 ::sq_pop(v, 1); //ルートテーブルの除去
}

という風にサブルーチンに分けています.

comments

(2009-10-30T13:17:02)

こちらでは、はじめてのコメント。

手抜きをするなら sqstd_seterrorhandlers がさらに優秀です。
エラー処理は、sqstdaux.cpp あたりのソースを参考にするとよさげかも。

か (2009-10-30T21:44:10)

コメントどうもです.

sqstdaux.cpp の最後の方ですね.読んでみました.

私程度が思いつく事は既に標準で用意されていたということか…ww

2009-09-17T20:28:50 (Thu)

アイマス DS とサガ 2 購入

本日発売のアイマス DS とサガ 2 を買ってきました.それでもういっそのこと,と思って DSi 本体も一緒に買いました.合計 3 万円おいしいです ^q^ いいさいいさ…ヨドバシポイントがまた 2000pt くらい溜まったし… (´ω`)

ちなみに「狼と香辛料 海を渡る風」も本日発売で,ヨドバシでもプロモーションビデオが流れていました.それで凄く気になったのですがさすがに 3 本は買えない… それに商売シミュレーションは大航海時代 4 で楽しんでるので,しばらくは様子見です.

ちなみに DSi 購入により,我が家には DS が初代から全て揃ったことに.

[追記]

アイマス DS,どうやら「予約特典」でヴァイスシュヴァルツの PR カードが付いてたようです…

今後から予約特典は特に気を付けようと心に誓いました.初回特典ならどうにかなる可能性はあるけど予約だけは取り返しが付かないので.

…いや,カードそのものが欲しいならカードショップで手に入れればいいわけですが,私が欲しかったのはそのカードを売った利益 ^q^ らき☆すたデッキ以外は組まないので不要なのです ^q^

2009-09-30T06:10:13 (Wed)

インフルにかかってました

シルバーウィークの最終日にとうとうインフルエンザにかかってしまい,そこから昨日までずっと寝てました.熱は下がったんですが咳と痰と鼻水がまだ止まりません.

とりあえずこのままいくと 9 月終わっちゃいそうなので TODO リストだけでも…

・新潟遠征記

リストっつってもまぁこれだけですがw 9 月 19 日,シルバーウィークの初日に ohrin とサモとで新潟に行ってきました.交通手段は ohrin の車.何をして来たかって言うといわゆる聖地巡礼.今週末には書き上げようと思います.

戻る