2009年2月27日金曜日

Ver0.3.1リリース

ファイルの取り扱いに致命的なバグが(正常にクローズできない)あったので修正しました。

2009年2月25日水曜日

メールフォーム廃止のおしらせ…

えー、ブログについていたメールフォームですが、なんか正常に動作していない様子なので撤去しました。
誰かが数回ほど送ってくれた形跡はあるのですが、本文がまっさらなんですよね。
どっかしらの不具合だと思うのですが、原因が解明できない以上直すこともできないので思い切って撤去しました。
大変もうしわけないのですが、なにかありましたらこのブログにコメントするか掲示板に書き込んで頂ければ幸いです。
それから、当分先になるかもしれませんが…ブログからWiki形式に移行することを考えています。
http://dxlib-portable.ddo.jp/cgi-bin/wiki/wiki.cgi
たぶんこのページで確定です。 Wiki荒らしさんが出没したら怖いんですけどね・・・

2009年2月21日土曜日

サーバーメンテナンスします

配布サーバーを色々と弄りすぎて不安定になってしまったので緊急のメンテナンスをします。
終了次第カキコしますのでしばらくお待ちください…
終了予想は土曜日の午後ですー

2009年2月17日火曜日

v0.3.0リリースしましたー

Ver0.3.0をリリースしました。既にお気づきかもしれませんがバージョンのつけ方がDXライブラリと違います。最初がメジャーバージョンで次がマイナーバージョン、最後のはバグフィックスとかで増えます。それと、16進数ではなく10進数で進める予定です。
まあ、そんな細かいことはおいといて。マイナーバージョンが上がったということは機能追加のお知らせです。PSPのファームウェアが持っている文字入力機能を関数一つで呼べるようにしました。その名もGetTextOSK関数!詳しいことはヘッダファイルに書いてあります。そのうちサンプルプログラムでも…今書くかw


#include "dxlibp.h"
PSP_MODULE_INFO("DX LIB TEST", 0, 1, 1);
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER);
int main()
{
char buf[256];
DxLib_Init();
GetTextOSK(buf,256,0,"test","test");
printfDx(buf);
while(ProcessMessage() != -1)
{
ClearDrawScreen();
ScreenFlip();
}
DxLib_End();
}


これで動くかな?エラーチェックは行っていないので怖いですがw
それから、この関数を作るうえでsjis2unicode関数、unicode2sjis関数、sjisstr2unicodestr関数、unicodestr2sjisstr関数を追加しました。SJISとUTF-16LEの文字、文字列同士で相互変換ができます。
それにしても…コードが肥大化してきましたね… さっきのやつコンパイルしたら500KBいってました。
もうちょっとPSPSDKのリンカが賢いといいのですが。
現在小さく出来ないか試行錯誤してます…

2009年2月15日日曜日

次のバージョン予定

またも経過報告となってしまいました…
現在、GetTextOSK関数の調整中です。これは独自関数なのでちょっと説明します。
int GetTextOSK(char *buf,int buflen,int inputmode,const char *title,const char *init);
これはPSPのファームウェアが持っているOSK(オンスクリーンキーボード)を利用するための関数です。
引数は左から順番に「取得した文字列の格納先」、「最大文字数(半角)」、「入力モード(後述)」、「タイトル文字列」、「初期文字列」となります。
入力モードとは何かといいますと、例えば… いい具体例が思いつかないorz
あれです あれ 漢字やひらがなを入力できない場合があるじゃないですか。ブラウザでURL入力する場合とか。そういうのを指定するんです。DXP_OSK_KANJIとかDXP_OSK_HIRAGANAとか定数が大量にあるので|演算子で組み合わせてください。
で、この関数がどこまで出来上がっているかというと…
文字の取得はできるんですけどタイトル文字列と初期化文字列がうまく表示できてないんですよね…
現在原因究明中です。早ければ明日あたり公開できそう。遅かったら1週間くらいかかっちゃうかも…その辺がなんともいえません。申し訳ない。
で、この関数を作った際の副産物として、UTF-16とShiftJISの文字、文字列を相互変換する関数ができました。というか、作りました^^ おかげでライブラリのデータサイズがまた増えてしまいましたがw
んー、それから、文字コードの変換表は外部ファイルにした方がいいかもしれませんね。
UTF-16とShiftJISの相互変換には色々と議論が付きまといまして…一部の文字が1:1対応しないんです。で、そういった問題をできるだけ上手いこと解決するような変換表にしたつもりなんですが、人によっては「Microsoft準拠がいい!」「Unicodeが出してる変換表そのままでいいよ!」となるかもしれないんですよねー

2009年2月3日火曜日

久々に更新です

ごぶさたです。
今回は状況報告です…
えっと、Ver0.2.1の時点のソースコードを紛失してしまったので現在の公開Verが0.2.0になっています。手元にあるコードは0.2.1の時点に新機能など色々と書き加えてしまったので安定するまで待ってほしいですm(_ _)m
ちなみに、新機能としてはOSKを簡単に使えるような機能を実装しようとしています。
(OSKについては後記
OSKを出すところまでは「サンプルプログラム動かないー」とか言いながらも出来上がったのですが、問題はOSKが返してくる文字列なんですよね…
なんでUTF-16で返してくるんだorz
DXライブラリPortableは本家の仕様にできるだけ合わせるためにShift-JISで全体をまわしてるので、変換する必要があるんです…
で、知る人ぞ知るiconvライブラリ。これを使おうとすると…リンクエラーになるわけです。
私が主に使ってる環境だとヘッダが存在するのにリンク先が無いという謎なことになってます。
で、現在なにやってるかですが…必死こいてUTF-16<->SJISの変換ルーチン作ってます。
それなりに時間がかかりそうなので生暖かく見守ってくれれば幸いです…
最後に しばらく更新なくてごめんなさいです
OSKとは
オンスクリーンキーボードの略(だと思う
PSPのブラウザとかで文字入力するときに使うアレです。左側にいくつかボタンがあって、右側に作業プールみたいなのが出て、□ボタンで一文字消えるアレです。