1 名前:デフォルトの名無しさん mailto:sage [04/09/24 15:07:03] BREW(Binary Runtime Environment for Wireless)についてのスレ QUALCOMM BREWホーム www.qualcomm.com/brew/ja/ www.qualcomm.com/brew/ BREW JAPAN .COM|BREW増強計画 www.brewjapan.com/ 前スレ pc5.2ch.net/test/read.cgi/tech/1076511398/ 関連情報>>2-18 ■過去スレ 02 pc5.2ch.net/test/read.cgi/tech/1076511398/ 01 pc2.2ch.net/test/read.cgi/tech/1011078904/
862 名前:デフォルトの名無しさん mailto:sage [05/02/25 21:59:28 ] >>861 カメラがあさっての方向を向いてるんじゃないの? もしくは遠すぎるか。
863 名前:862 [05/02/25 22:01:41 ] あと、MascotCapsuleの描画領域はdirtyと判定されないようだから、 背景を何か描くか、明示的にIBITMAP_Invalidate()を呼ばないと駄目だった 気がする。
864 名前:デフォルトの名無しさん [05/02/25 23:00:09 ] 試験用端末を全部窓から投げ捨てろ!
865 名前:デフォルトの名無しさん [05/02/25 23:32:19 ] iMona使えてる人いる?
866 名前:デフォルトの名無しさん mailto:sage [05/02/25 23:47:23 ] iMonaって、JAVAアプリじゃないの? 移植して自分の端末だけに入れて楽しむの?
867 名前:デフォルトの名無しさん mailto:sage [05/02/26 19:14:24 ] デスマの人手挙げてー?
868 名前:デフォルトの名無しさん mailto:sage [05/02/26 22:27:19 ] ノ
869 名前:デフォルトの名無しさん mailto:sage [05/02/26 22:35:48 ] ∧_∧ ⊂(´・ω・`)つ-、 /// /_/:::::/ 大変だねぇ |:::|/⊂ヽノ|:::| /」 / ̄ ̄旦 ̄ ̄ ̄/| /______/ | | | |-----------| |
870 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:07:15 ] がんがれよ 検証マダー?
871 名前:デフォルトの名無しさん mailto:sage [05/02/28 00:51:39 ] *と+をあっちこっちで記述ミス発見。 あはははははははははははfはふぉあうydfさhsdfpふじこp;@ 渋滞させてくれたみんな、サン糞!
872 名前:861 mailto:sage [05/02/28 11:54:05 ] >>862 レスありがとうございます。 IMICRO3D_Render_drawFigureの返値調べたらHI_FALSEになってるみたいです。 で、ちょっと質問なんですがFigureに正常にロードできてるか見る方法ってありますか? あとdrawFigureをする前にしなきゃいけないこととかあります?
873 名前:デフォルトの名無しさん mailto:sage [05/02/28 14:03:44 ] >>872 IMICRO3D_Figure_loadMbacDataの戻り値じゃなくて? これでHI_TRUEが返ってれば大丈夫だと思うけど。 あとはサンプルのファイル名(とテクスチャ名)だけ差し替えてテストしてみるとか。 drawFigureの前ってカメラの行列設定くらいしか無かったような。場合によっては setPattern/setTextureとか。
874 名前:861 mailto:sage [05/02/28 16:34:45 ] それがロードはできてるみたいなんですよ。 IMICRO3D_Figure_loadMbacDataではHI_TRUE返ってきてます。 Figure構造体の中のいくつかの変数見たんですが、ロード直後とIMICRO3D_Render_drawFigureの直前の数値が一緒でした。 なのでロードの失敗はないと思います。 この状況でIMICRO3D_Render_drawFigureを失敗するっていうのは何が原因なんでしょうか・・・orz
875 名前:デフォルトの名無しさん mailto:sage [05/02/28 16:45:22 ] >>874 そんじゃ、やっぱしテクスチャがセットできてないとか、Renderの設定がおかしい (setVramのあたりとか)じゃない?
876 名前:デフォルトの名無しさん [05/02/28 16:46:22 ] アプリでフルブラウザあるじゃん ttp://appget.com/ez/pc/apview_023553.htm
877 名前:861 mailto:sage [05/02/28 17:24:31 ] アドバイスありがとうございました。なんとかできました。 なんとIMICRO3D_Render_initializeしてなかったです・・・。 たったこれだけで丸1日かけてしまっくぁwせdrftgyふじこlp;@:「
878 名前:デフォルトの名無しさん mailto:sage [05/02/28 18:59:37 ] barファイル(もしくはbriファイル)の内部構造ってどっかに説明ころがってませんかね? 多言語対応でメッセージをすべてリソースから読むのは良いのですが、メッセージの種類が 増えたときとか、5つも6つもすべてのリソースに追加するのってかなり面倒で・・・ フォーマットが分かればCSVとかで用意して自動生成できるんですけどね〜 まあおそらく非公開なんだとは思いますが・・・
879 名前:デフォルトの名無しさん mailto:sage [05/02/28 19:41:08 ] >>878 ttp://brewforums.qualcomm.com/ja/showthread.php?s=&threadid=323 に、BARファイルのフォーマットは公開してないって書いてある。 ちなみに俺は適当なキーマクロ使ってリソース追加してる。
880 名前:デフォルトの名無しさん mailto:中の糞 sage [05/02/28 22:25:36 ] >878 ResourceEditor3.0から、中間フォーマットをXMLで吐くようになり、これから(コマンドラインで)barファイルを生成可能です。 XMLのフォーマットは見ればだいたい分かるものなので、推測して生成することはできると思います。 SDK3.0 インストールして使ってみてください...
881 名前:デフォルトの名無しさん mailto:sage [05/02/28 22:40:56 ] いやまて、実際にどう動くかとかは使って無いからわからないけど、 コマンドラインでのbar生成ってQのサイトに以前から無かったか? 勘違いかな?
882 名前:デフォルトの名無しさん mailto:sage [05/02/28 22:55:21 ] じゃあURLを書きなさい
883 名前:デフォルトの名無しさん mailto:中の糞 sage [05/02/28 22:56:07 ] >>881 以前 bri (フォーマット未公開、バイナリで解読困難)→bar 現在 bfx(フォーマット未公開だけどXMLベース、何とか解る)→bar そんな訳で少しは使い易くなったはずです。
884 名前:デフォルトの名無しさん mailto:sage [05/03/01 09:54:10 ] >>883 ちょくちょく情報サンクス
885 名前:デフォルトの名無しさん mailto:sage [05/03/01 12:44:46 ] >>880-883 ありがとうございます〜 SDK3.0だとXMLなんですね。 それは知りませんでした。 XMLならかなりやりようがあるので、それで対応したいと思います。 >>879 ありがとうございます。 既存リソースファイル郡に1つだけ項目追加とかには今までWSHのsendkey で対処してたんですが、中国語とか入ってくるともうだめぽって感じだったんで。 しかし、海外向けだと結構端末の癖があって泣かされますね。 #それでもJAVAよりはましだけど 電波はいらないと動かない端末とかあるし、サーバ連携周りはどうしても現地じゃ ないとテストできないし。
886 名前:デフォルトの名無しさん [05/03/01 23:05:55 ] 例えばJAVAとBrewでftpソフトのような通信関連のアプリを作った場合 理想的にはどれくらい速度の差が出るのでしょうか?
887 名前:デフォルトの名無しさん mailto:sage [05/03/01 23:27:58 ] BREW Browserのインストールディレクトリ\tools\barc.exe がコマンドライン版のbar生成ツールかなと思う 現在はもうサイトにも無い様子
888 名前:デフォルトの名無しさん mailto:sage [05/03/02 00:15:53 ] BREWのリソース作成環境は嫌がらせとしか思えないよね。
889 名前:883 mailto:中の糞 sage [05/03/02 01:12:00 ] >>887 BREW SDK 3.0には brewrc.exe が含まれており、こいつが883で書いたXML→barのコンバータです。 (883ではXMLファイルを.bfxと書きましたが .brxの間違いでした) SDK3.0 の SDK User's Guide のリソースエディタ→BREWリソースファイルのコンパイル→ コマンドを入力してBREWリソースファイルをコンパイルする のページを参照してください。
890 名前:デフォルトの名無しさん mailto:sage [05/03/02 07:38:16 ] BREW2.0とか2.1からでも、3.0で作ったbarを読み込んでも 問題無いもの?
891 名前:デフォルトの名無しさん mailto:sage [05/03/02 11:00:48 ] >>890 RESTYPE_BINARY使わなければ大丈夫です...多分 RESTYPE_IMAGE、RESTYPE_STRINGは変わっていないです
892 名前:デフォルトの名無しさん mailto:sage [05/03/02 12:26:02 ] >>890-891 とりあえず、SDK2.1のリソースエディタで作ったbriファイルを、SDK3.0のリソース エディタで読み込みbrxで保存、brxをテキストエディタで修正してSDK3.0でbarを作っ てみましたが、BREW2.1端末で普通に読めました。 おそらくIMAGEとSTRINGだけしか使わなければ大丈夫そうです。
893 名前:デフォルトの名無しさん mailto:sage [05/03/03 02:16:00 ] やっと実機が来たので、とりあえず認証ファイルを取得しようとしたの ですが、0xaabbccddのフォーマットのESNが見当たらないです。 四角で囲ったアルファベットの後に、IDっぽいのが2行あるのですが、 これのうちのどちらかがそうなのでしょうか? あきらかに0xaabbccddのフォーマットではないのですけど。
894 名前:デフォルトの名無しさん mailto:sage [05/03/03 02:28:57 ] >>893 TestSig取得のことか? 開発ツールガイドに出てるぞ。
895 名前:デフォルトの名無しさん mailto:sage [05/03/03 09:18:35 ] >894 すみません。載ってました。 はずかしいなぁ。
896 名前:デフォルトの名無しさん mailto:sage [05/03/03 13:16:42 ] IDATECTLで、YYYY/MM/DDのフォーマットで表示したいのですが、 IDATECTL_SetProperties( pMe->MyDate, DFMT_YYYY_MM_DD ); としても「3月 3, 2005」という表示になってしまいます。 他のフォーマットを指定しても表示が変わらないのですが、 何か見落としていると思われる点がありましたらご指摘願います。 環境 WinXP Pro SP2 VC++ 6.0 BREW SDK 2.1.1 端末:W21S
897 名前:デフォルトの名無しさん mailto:sage [05/03/03 15:04:24 ] BREW2.0の機種なんか見捨てようと思います。
898 名前:デフォルトの名無しさん mailto:sage [05/03/03 15:38:09 ] ちょっと聞きたいのですが サスペンドしたときに開放するメモリは MALLOCした部分だけでいいんですか? たとえば読み込んだbmpなども、一旦手放して 読み込みなおしですか?
899 名前:デフォルトの名無しさん mailto:sage [05/03/03 15:44:24 ] 回答:BMP含め不要なものは全て 解答:実際何が「必要」で何が「不要」かの判断はプログラマによるところなので 全部必要と思えば解放しなくて良いw
900 名前:デフォルトの名無しさん mailto:sage [05/03/03 15:50:08 ] おお。じゃぁ開放できないんです!って粘ればおk?ウホホイ
901 名前:デフォルトの名無しさん mailto:sage [05/03/03 16:20:18 ] 開放するとリジューム時に不安定になります(゚∀゚) とか言う。
902 名前:デフォルトの名無しさん mailto:sage [05/03/03 16:23:58 ] IMEDIAとかIWEBは握りっぱなしじゃまずいだろ
903 名前:デフォルトの名無しさん mailto:sage [05/03/03 16:29:33 ] @以下のインスタンスは、サスペンド時に必ず解放しなければならない。 ・IFILE,IPOSDET,IKDDIPPP,IWEB,ISOCKET,INETMGR,IDNS,IMEDIA,ISOUND (通信系、サウンド系インタフェース全般) ・IKDDIPPP ・Extension A以下のインスタンスは、開放してはならない。 ・IFileCp,ITextCtl B以下の処理をしている場合は、必ずその処理を終了(停止)しなければならない。 ・サウンド(メロディ、ビープなど) ・アニメーション ・バイブレート ・バックライト ・ISHELL_SetTimer()したコールバック関数(キャンセルはISHELL_CancelTimer()) ・ファイル処理中[読み込み/書込み時](オープンされているファイルはクローズする) Cレジュームイベント中にしなければならない処理 ・レジューム要求”EVT_APP_RESUME”に対し、返却値として”必ず”TRUE”を返して下さい。 ”FALSE”を返却すると”EVT_APP_STOP”が送出されBREW アプリは終了してしまい、 BREW アプリは再起動されてしまします。
904 名前:デフォルトの名無しさん mailto:sage [05/03/03 17:29:29 ] サービスガイドの「サスペンドとレジュームにおける留意点」を読んで判断せよ 少なくとも粘って言い張るとか言い訳を用意するとかそういうレベルの話じゃない
905 名前:デフォルトの名無しさん mailto:sage [05/03/03 21:17:44 ] んだんだ。 最低限やらなきゃ行けない処理だけ施せばとりあえず検証は通る。 あとはレジューム時に上手くエラー処理しながら復元するぐらいかと。
906 名前:デフォルトの名無しさん mailto:sage [05/03/04 07:26:03 ] int/long/int16/int32のsizeofを見て勘違いに気付く。Cで short または int といえば 'short int' のことで 2byte long といえば 'long int' のことで 4byte だと思ってたのでBREWでは int16(はshortだから) = int = 2byte int32(はlongだから) = 4byte であろうと… いやー int = long = 4byte だったとは。 4byteでありたい整数は律儀に全部 int32 と書いていたけどこれからは 普通に int でいいな。'int32'って書くの何か気持ち悪かったんだ実は。 …スンマセン 白状すると16bitCPU時代に身に付いたint=2byteの先入観がありました orz
907 名前:デフォルトの名無しさん mailto:sage [05/03/04 15:22:37 ] あ"ぅーCPのチェックが通らないぃぃぃぃ 何でうちでチェックしたMAXヒープと向こうがチェックしたMAXヒープ違うんだ_| ̄|〇 しかも某チェックツールで確保したメモリも勝手に解放しちゃうし・・・ 某3Dくのいちゲーでも勝手に解放してたからBREW(というか某チェックツール?)の仕様なんじゃないかと・・・ しょうがない、もう一個の振る振るツールでチェックするか(;´Д⊂)
908 名前:デフォルトの名無しさん mailto:sage [05/03/04 15:58:58 ] 某チェックツールってのがK某だったら、奴はメモリ少なくなると落ちるぞ。 そういう時はS某を使うといいらしい。
909 名前:デフォルトの名無しさん [05/03/04 18:48:26 ] ソフィアクレイドルのBREW圧縮ツールみたいなものを作りたいんですが、 それを作るために必要なBREW AEEの仕様みたいな資料は手に入らないでしょうか? ご存知の方いらっしゃいましたら、よろしくお願いします。
910 名前:デフォルトの名無しさん mailto:sage [05/03/04 19:01:37 ] >>907 >>908 事前検証手順書、メモリ不足の備考欄。 退避起動でツールKが終了してしまう場合はツールSを使えと。 ツールSの振る舞いはサービスガイドP76に。 検証のメモリチェックはいくつかやればコツ覚えるから。がんばれ。
911 名前:デフォルトの名無しさん mailto:907 [05/03/04 20:24:49 ] >>908 さん >>910 さん ありがとうございました。 やっぱりそれですよね。 ガイドとかサイトのFAQ読んでたんで知ってはいたんですが・・・ 説明したらCPも納得したようなので問題解決です。 初回はすんなり検証通ったのに機種移植の段階でこんなに苦労するとは(;´Д⊂) 担当者がかわ(ごにょごにょ
912 名前:デフォルトの名無しさん mailto:sage [05/03/04 20:41:08 ] 担当者が可愛いのか。うらやますぃ。
913 名前:デフォルトの名無しさん [05/03/05 01:29:08 ] 1.ISHELL_SetTimer()でタイマーコールバックをセットする 2.別の処理Aを行う 3.処理Aの途中で1.でセットしたタイマーが作動する 4.3.で作動したコールバックが終了後、処理Aの途中から再開する タイマーを使えば普通にこういうことができると思ってたんですが、 処理Aの途中ではタイマーが作動しません。 イベントループに入って初めてタイマーが作動するようなんですが こういうものなんでしょうか。 もし1.〜4.のようなことができる方法ご存知でしたらお願いします。
914 名前:デフォルトの名無しさん [05/03/05 01:32:16 ] できたらこまるでしょ
915 名前:デフォルトの名無しさん mailto:sage [05/03/05 02:30:33 ] >>906 幾ら何でも古すぎるぞ。
916 名前:デフォルトの名無しさん mailto:sage [05/03/05 04:41:43 ] >>915 いやお恥ずかしい。 int32のtypedefがlongじゃなくてintだったら勘違いもなかったと思う。って言い訳だなw
917 名前:デフォルトの名無しさん mailto:sage [05/03/07 06:32:58 ] アプリ内で生成したIBitmapオブジェクトをアプリ終了時にファイル保存し、 次回起動時にそのファイルを読み込んでIBitmapオブジェクトを得る、 という処理を考えています。やり方についてアドバイス願います。 読み込み時にISHELL_LoadBitmap()を使おうとする場合、IFILE_Write()の引数とする 「バッファとその長さ」と、保存しようとしているIBitmapの結び付けが思いつきません。 IBitmapを、ISHELL_LoadBitmap()で読み込める形のファイルで出力する場合、 どんなやり方になるでしょうか。 --- ISHELL_LoadBitmap()で読み込めるフォーマットってWindowsのBMP形式ですよね。 ということはIBitmapオブジェクトからWindowsのBMP形式を作り出して、それを保存 するということになりそうですが、手っ取り早くやるにはどうすれば… (実は上手い方法なんてなくて、皆さん自力で変換処理を組んでいるのでしょうか) また、読み込みでISHELL_LoadBitmap()にこだわらないなら、他にどのような やり方が考えられるでしょうか(どのインターフェイスが利用できるでしょうか)。
918 名前:デフォルトの名無しさん mailto:sage [05/03/07 10:29:47 ] >>917 IBITMAP_QueryInterface()でIDIBを生成 IDIBからBMPファイルに保存する って方法を取ってます ヘッダを自分で生成したりしなくちゃいけないからめんどかったけど。。
919 名前:デフォルトの名無しさん mailto:sage [05/03/07 10:56:52 ] >>913 割り込みじゃないからね。 Windowsのタイマーイベントだって基本的には同じでしょ。 それに、BREWは短い周期でフレームワークに処理を戻さないとウォッチドック タイマに引っかかるからそれほど問題ないと思うし。 #もともとそんな高精度のタイマを期待しちゃいかんし >>918 LoadBitmapとか使うのが前提じゃなければヘッダはなくてもいいんでない? まあファイル読込処理は非同期で面倒だからヘッダ作ったほうが楽そうでは歩けど。
920 名前:デフォルトの名無しさん mailto:sage [05/03/07 11:09:26 ] >>919 BREWの中だけでつかうのならヘッダはなくてもよかったのかな? PC上で確認するためにはデータ部分だけじゃだめだったから ヘッダ付与したりしてました・・・
921 名前:デフォルトの名無しさん mailto:sage [05/03/07 19:17:12 ] ビルボードの作り方がわからない・・・_| ̄|○ 正方行列じゃないから逆行列使えないし。 どうすりゃいいんだろ?
922 名前:デフォルトの名無しさん mailto:sage [05/03/08 01:46:14 ] >>921 ポイントスプライト使えばいいじゃない
923 名前:921 mailto:sage [05/03/08 11:16:34 ] >>922 ポイントスプライトってなんかまずいことないのん?重くなるとか。 DirectXとかだと汎用性があんまりないというかビルボードの方がいいとか言われてるっぽいんだが。
924 名前:デフォルトの名無しさん mailto:sage [05/03/08 12:23:01 ] >>923 特に重いってことはないなぁ。 ・自由変形ができない ・制御点がスプライトパターンの中心に固定 が不便じゃなきゃ、素直にポイントスプライトにしとくのが楽じゃないかなぁ。 頂点座標も計算しなくていいし、視点変換行列もワールドでいいし。
925 名前:デフォルトの名無しさん mailto:sage [05/03/08 15:31:47 ] ちょっとお聞きしたいのですが、IMEDIA_Playで音楽を再生するときに かならず一瞬動作が遅くなるのですが、これはプログラムの書き方が 悪いからなのでしょうか? 勉強の一環でBREWでゲームをつくっているのですが、同時再生をする ことはできたのですが、効果音を鳴らすたびに一瞬動作が重くなるの はつらいので・・・
926 名前:デフォルトの名無しさん mailto:sage [05/03/08 15:42:21 ] >>925 エミュレータ環境だとウチの所も曲のループの時とか処理落ちするね。 実機だったら、まず機種を言ってくれると助かる。
927 名前:デフォルトの名無しさん mailto:sage [05/03/08 15:50:11 ] >>926 あ、やっぱりエミュレータだと処理落ちするみたいですね。 学生なので実機テストを行うことができませんので機種をいうことは できないのですが、実機だとそのへんも普通に動くのでしょうか?
928 名前:デフォルトの名無しさん mailto:sage [05/03/08 18:23:10 ] アイコンサイズって、26x26と16x16(一覧用)なの? アプリ選択時に表示される画像サイズは80x40くらい? いろいろ書かれてあって、どれが正しいのやらわからん。 BREW2.1以上だと、どのくらいですか?
929 名前:デフォルトの名無しさん mailto:sage [05/03/08 18:31:52 ] >>928 端末仕様書のアイコンサイズ参照のこと
930 名前:デフォルトの名無しさん mailto:sage [05/03/08 19:09:59 ] 端末仕様書とMIFエディタで表記違うのややこしいよね(´・ω・`) 余談だがアイコンサイズの限界に挑戦すると結構面白いぞ。 37ピクセルでOK、38ピクセルでNGとか訳わからん機種が結構ある。 Infobarは100ピクセルでも表示できる。 そーいうトコロだけ力入れんでも良いんだぞと。
931 名前:928 mailto:sage [05/03/08 19:21:05 ] >>929 ,930 みんなBREWの環境で苦労してんだね。
932 名前:デフォルトの名無しさん mailto:sage [05/03/09 09:11:46 ] 環境はまだまだ発展途上でしょ
933 名前:デフォルトの名無しさん mailto:sage [05/03/09 10:29:16 ] >>927 とりあえず、ウチの所の実機では問題出てない。 >>928 BREW2.1になって今のところアイコンサイズは1種類で 対応できてるような気がする。 BREW2.0の時は2種類用意してたけど。
934 名前:デフォルトの名無しさん mailto:sage [05/03/09 13:31:13 ] >>434 うーん、俺もデバッグできないな。 書いてあるとおりやってるんだが・・・ 自分はVS .NET 2003。 「(パス)\BREW_Emulator.exe'にはデバッグ情報がありません。 続行する場合は[OK]を押してください」 のダイアログは俺も出た。 ソースはウィザードで作ったHelloBREW。 デバッガ起動すると、ブレークポイントがクエスチョンマークになる。 で、そこで止まってくれない。
935 名前:934 mailto:sage [05/03/09 13:32:12 ] BREWのバージョンはBREW SDK v2.1.1 Jaでつ。
936 名前:934 mailto:sage [05/03/09 14:33:03 ] アプレットディレクトリの変更を忘れてた・・・ あとmifを置くパスもサンプルと違った。解決。 チラシの裏日記でした(・∀・)
937 名前:917 mailto:sage [05/03/09 17:06:16 ] アドバイスありがとうございました。 ISHELL_LoadBitmap()は使わず、独自フォーマットのファイル読み書きで対処しました。 PCとのやり取りは不要なのでBMヘッダはなくても問題ありません。 基本的にはIBitmapから生成したIDIBをシリアライズして出力です。
938 名前:927 mailto:sage [05/03/10 09:12:54 ] >>933 そうですか、やっぱり実機テストができないとだめですね。 就職した先で必要となったらまたBREWを勉強しようと思います。 ありがとうございました。
939 名前:デフォルトの名無しさん [05/03/10 15:19:28 ] >>933 A5502Kだと実機でも問題でましたよ;;
940 名前:デフォルトの名無しさん mailto:sage [05/03/10 17:07:00 ] >>939 メモリ1M端末は相手にしn(ry 嘘です、ごめんなさい。 そういえばガイド読むとBREWフォルダ3M以上ならアプリサイズ600kまでオケー 3M以下なら300kだと思ったんだがタ○ムクラ○シスとか○言朱とかA5503SA(2M端末)で 300k超えてるんだけど・・・ええの? ウチも最近アプリサイズが厳しいんだけど、300kの壁越えられるなら超えたい
941 名前:デフォルトの名無しさん mailto:sage [05/03/10 20:32:10 ] >>940 大人の事情。本音と建前。 手っ取り早く300KBの壁を越えるための手段としてはgzip圧縮(IUnzipAStream)か。 リード&展開でローディング時間が増大、辞書のために瞬間的に40KBほどメモリ食うのが難点だけど。 .barファイルからだとgzip圧縮済みデータと展開後データで2重にメモリ使ってしまうのも嫌なところ。 逆にいえば.barからではなくファイルから直接読み込めば解決するけど、KDDIとしてはアプリ中で使う データはできるだけ.barに置いて欲しいらしい。しかし絶対.barに収めなきゃいけないってわけでもないの で交渉次第。 既にgzipまで組み込んでるならスマソ。
942 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:17:41 ] >>941 IUnzipAStream使ってみればわかるけど、展開は速いよ。
943 名前:デフォルトの名無しさん mailto:sage [05/03/11 06:04:31 ] なんつーか、300kに抑える→300kなりのボリュームでつくる。 ってのが携帯ゲー製作のお手軽さ・楽しさじゃないかな? 少なくとも、うちみたいな弱小CPには、この制限はありがたいよ。
944 名前:デフォルトの名無しさん mailto:sage [05/03/11 08:45:45 ] いいえ
945 名前:940 mailto:sage [05/03/11 13:21:49 ] >>941 さん gzipですか。 たまに使いますが基本的に画像は絞りに絞ったPNG、数値データやテキスト系のデータはバイナリなのでほとんど圧縮されないので効果はイマイチなんですよね。 ファイルヘッダーの分だけ軽くなったりするけど劇的には減らないし・・・ >>943 さん ゲームの種類によるんですよね。 パズルなんか300kもあれば十分なんですけどウチのジャンル的に SRPGとかシミュレーション、ADVとかでリソースがデカイので苦戦中なんですよ。
946 名前:デフォルトの名無しさん mailto:sage [05/03/11 14:27:13 ] PNGなんて使ったら、展開が遅くてかなわん。 BMP+gzipが一番バランスがいいと思った。微妙にサイズは増えるが。
947 名前:デフォルトの名無しさん [05/03/11 17:35:34 ] >>925 コールバックちゃんとしてる?
948 名前:デフォルトの名無しさん mailto:sage [05/03/11 23:21:11 ] >PNGなんて使ったら、展開が遅くてかなわん。 どんなアプリ作ってんの? ゲームでは問題ないけど。
949 名前:デフォルトの名無しさん mailto:sage [05/03/12 00:02:03 ] >>948 起動に10秒待つのを問題があると考えるかどうか、だな。
950 名前:デフォルトの名無しさん mailto:sage [05/03/12 01:35:09 ] >>949 なにそれ・・・ 起動時にゆうに数十枚の画像開いて閉じてやってるが、 1秒もかかる機種見た事無いんだが。 pngの展開が遅いのも、gzipの展開が早いのも認めるが、 10倍以上も差がつくとは言えないと思う。 それ以前にやり方に問題があるに5000ガバス
951 名前:デフォルトの名無しさん mailto:sage [05/03/12 02:06:25 ] >>950 いや、もちろん自分が作るものは、1秒かからず起動するように作るよ。 でも、作り方がまずくて10秒かかってるアプリを見ることもあるわけで。
952 名前:デフォルトの名無しさん mailto:sage [05/03/12 03:07:14 ] ん〜? 俺はBMPでもPNGでも変わらないんだけど・・・ PNGの容量でもでかいのか?
953 名前:デフォルトの名無しさん mailto:sage [05/03/12 04:53:15 ] >>951 その10秒の内訳が、PNG の展開処理であるのは確定なのか? ソースを見れる立場ならば指摘してあげないのか?
954 名前:デフォルトの名無しさん mailto:sage [05/03/12 11:18:07 ] このスレ的にはbciって使わないもの?
955 名前:デフォルトの名無しさん mailto:sage [05/03/12 13:34:10 ] PNGもgzipも同じアルゴリズムなわけだが。
956 名前:デフォルトの名無しさん mailto:sage [05/03/13 21:08:03 ] 質問があるんだけどISHELL_BrowseURLを使ってアプリからwebブラウザに飛ばすのはどれが正しいの? urlto・ezurlto・ez2urltoがあるのは分かったのだが、どれを使えば分からない それとブラウザが起動したらSUSPENDが呼ばれるらしいんだが、呼ばれてないみたいだし… 実機で試せる環境じゃないからエミュで動かしてるんだけど、エミュだと詳しく分からないから教えてほしい…
957 名前:デフォルトの名無しさん mailto:sage [05/03/14 00:11:03 ] >>956 >>684-
958 名前:デフォルトの名無しさん mailto:sage [05/03/14 00:46:09 ] >>951 フルスクリーンサイズのPNGをARM7端末で展開しても1秒間に10枚くらいはいけるけどね。 これで10秒って言うと100枚以上デコードさせてるってことかね? ヒープが足りなくなる悪寒。
959 名前:デフォルトの名無しさん mailto:sage [05/03/14 09:57:57 ] それ以前に10秒も処理占有したら、電源落ちる機種が大半だと思うが
960 名前:デフォルトの名無しさん mailto:sage ぶりゅうとうにゅうはどう違う? [05/03/14 12:57:07 ] 普通は必要に応じて処理するよな 読み込み中でも同期とるようにするとか せめて"なぅろーでぃんぐ"ぐらいは出してるんだろな
961 名前:デフォルトの名無しさん mailto:sage [05/03/14 13:41:52 ] すいません、質問です。 アプリ起動時のInitAppData()で、barからjpegファイルをロードするようにしているのですが、 jpegをロードするときはコールバック関数を使って、コールバック関数が呼ばれたら描画すると なってますよね(SONY端末以外はそんなことしなくても描画できますけど)。 複数jpegを起動時に一気読みしたいのですが、コールバック関数内で次のjpegをISHELL_LoadResImage() とIIMAGE_Notify()をする(を画像分コールバック関数用意して繰り返す)のではだめなのでしょうか。 実機で動かすと、リセット掛かるんですが・・・ よい方法がありましたら、教えてください。
962 名前:961 mailto:sage [05/03/14 13:46:10 ] 追記です。 InitAppData()以外の場所(ある画面の描画時)に、コールバックで描画するのはでできました。 InitAppdata()内では、1画像だけコールバックで受け取るようにしてもリセットがかかりました。 よろしくお願いします・・・
963 名前:デフォルトの名無しさん mailto:sage [05/03/14 14:21:39 ] 全く自信ないが。 InitAppData()内でjpeg以外にbarから何か読み込み行ってるのとぶつかってるのかな・・?
964 名前:デフォルトの名無しさん mailto:sage [05/03/14 17:56:18 ] いきなりInitAppdata()って言われても分からないぞw 多分スケルトンモデルで自動生成されるやつのことを言ってるのだろうけど。 で、それはCreateInstance()から呼ばれてるだろ。 この関数ってつまりコンストラクタだから、その中ではコールバックが必要な処理や 通信処理などはやらないもんだ。 起動時のタイミングでjpegが必要なら、(InitAppdata()を呼び出してる)CreateInstance() を抜けた後で読み込むようにするのが正解じゃないかな。
965 名前:961 mailto:sage [05/03/14 18:20:24 ] 963さん> ありがとうございます。 barからの読み込みは、jpegロード以外に文字列を読み込んでいます。 でも、文字列ロード後にjpegをロードするようにしているので、ぶつかるということは ないかと思いますが、あっていますか? 964さん> たしかに!InitAppData()である必要は無いわけで・・・スマソ。 おっしゃるとおり、AEEClsCreateInstance()から呼ばれてます。 アドバイスのとおり、AEEClsCreateInstance()をAEE_SUCCESSで抜けたあとに処理を いれてみます。 場所としては、EVT_APP_STARTが適当ですかね。 ありがとうございました、結果はまたご報告します。
966 名前:963 mailto:sage [05/03/14 19:16:12 ] >>961 漏れの勘違いかもしれないが、機種によりぶつかる場合があるらしい。 状況が違うが、ファイルの読み込みとリソースの読み込みでぶつかった事ある。 AEE_SUCCESSに処理全部移して再現しないなら違うかな。
967 名前:デフォルトの名無しさん mailto:sage [05/03/14 23:37:41 ] 読み込みは非同期だったような…それで同時にアクセスして落ちてるのかな それはネットワーク関係だけだっけ?
968 名前:デフォルトの名無しさん mailto:sage [05/03/15 01:01:43 ] 終了時にどのメモリを解放するのか分からんorz 今までJavaやってきてメモリなんて気にした事ないからなぁ… MALLOCしたのは使わなくなったらFREE。イメージとかはRelease。 IWebはサスペンドの時にReleaseするとリジュム後に何故か使えなくなるorz ISHELL_CreateInstanceもどうすればいいのか分からんirz 誰かメモリ関係初心者に愛の鞭を…
969 名前:デフォルトの名無しさん [05/03/15 01:32:42 ] プログラミングガイドでも読めば?
970 名前:デフォルトの名無しさん mailto:sage [05/03/15 05:58:35 ] >>968 EVT_APP_SUSPENDでIWebをリリースした後、EVT_APP_RESUMEイベントで ちゃんと、ISHELL_CreateInstance でIWebのインスタンスを作成している? しかし、ヒープを理解していないのは BREWでは致命的。
971 名前:デフォルトの名無しさん mailto:sage [05/03/15 10:00:33 ] そろそろ次スレの予感
972 名前:デフォルトの名無しさん mailto:sage [05/03/15 13:31:05 ] >>970 >しかし、ヒープを理解していないのは BREWでは致命的 BREWどころかC系全般で致命的かと。 昔、JAVA上がりの香具師が作ったC++アプリを引き継いだらdeleteまったくして なくて大変な目にあったよ…
973 名前:デフォルトの名無しさん mailto:sage [05/03/15 13:32:52 ] むしろヒープがわからんとかってプログラマとして致命的だろう。 最近はJavaしか出来ないとかってPGが多いのか? っていうか、ソケットのコールバック、 インタフェース解放した後も呼ばれるんですが orz 解放→NULL代入→コールバック呼ばれる→NULLポインタにアクセス→リセット orz これってNULLで一度初期化するより、適当なデバッグ用関数に飛ぶようにしたほうがいいんじゃないだろうか?
974 名前:デフォルトの名無しさん mailto:sage [05/03/15 13:47:04 ] コールバックでぬるぽチェックすりゃいいだけじゃね?
975 名前:デフォルトの名無しさん mailto:sage [05/03/15 15:04:38 ] >>974 nullpoはチェックしてるけど、インスタンスをMALLOCで確保したりすると 解放した領域を他のとこで使われてnullpoじゃ無くなったりするじゃん? こーいう場合はどうしようもないでしょ。
976 名前:デフォルトの名無しさん mailto:sage [05/03/15 15:31:21 ] 確認。 ISOCKET_Cancel 呼んでもダメって事?
977 名前:デフォルトの名無しさん mailto:中の糞 sage [05/03/15 16:42:27 ] >>973 うーん、ちょっとありえないですね。 ちなみに、ISocketのインスタンスを解放した時点で、ISocketに関する Connect、Readable、Writeableの コールバックは解放されるはずです。(ISOCKET_Cancel()をコールする必要はないです。) ただし、INetMgrレベルのコールバックはこの時点では解放されないので、INETMGR_OnEvent()の SO_CLOSING/SO_CLOSED イベントは、旧ISocketポインタと共に通知されます。 (ここで通知されるISocketポインタの指す先は有効とは限らない、と3.1.2のAPIリファレンス PFNNETMGREVENT のページに書いてあります)
978 名前:デフォルトの名無しさん mailto:sage [05/03/15 17:31:44 ] >>977 エミュでは問題なく動いた(解放した後はコールバックが呼ばれない) W21SAでは呼ばれる。
979 名前:デフォルトの名無しさん mailto:sage [05/03/15 18:18:58 ] >>978 うーん、やっぱり「有り得ない」ですね。 どのコールバックが来ていますか? IIMAGE_SetStream()とか、ISOURCEUTIL_SourceFromSocket()とかでリファレンスカウントが増えてたりしませんか?
980 名前:デフォルトの名無しさん mailto:sage [05/03/15 19:38:33 ] >>979 Writeableだけ来るよ。 Refカウント増えてるんだったらエミュの時点で問題が出るはず。
981 名前:デフォルトの名無しさん mailto:中の糞 sage [05/03/15 20:24:14 ] >>980 いや、IImageのパフォーマンスとか実機とエミュで違うので、IImageの解放とISocketの解放の 順番が変わったりしているかと思いまして。 とりあえず、ISOCKET_Cancel( , NULL, NULL) を明示的に呼んで、あとリファレンスカウントが 本当に0になっているかどうかも戻り値で確認して、それでも直らないようであれば BREWヘルプデスクに質問してください。
982 名前:デフォルトの名無しさん [05/03/15 22:33:14 ] SUSPEND時についての質問です。 みなさん画像の開放してますか? ヒープ内の画像を全部開放してみたところ 着信時にて端末がおちるのですが・・・
983 名前:デフォルトの名無しさん mailto:sage [05/03/15 22:42:51 ] >>982 画像を解放するかどうかはこのスレで同じ話出てるから読んでみて。 >着信時にて端末がおちるのですが・・・ 画像を解放すること自体とは無関係。プログラムのどこか別の点に問題がある。
984 名前:956 mailto:sage [05/03/16 00:34:24 ] 何とかエミュでI am Browser(URL付き)が表示されるようになったよ。 フォーラムを見てみたらエミュではurlto、実機ではez2urltoを使うといいみたいだな。 でも別の場所で問題っぽい事が起きて困っている。 ブラウザが起動する際にはSUSPENDが送られて、ブラウザを終了したらRESUMEされると思うんだが エミュでISHELL_BrowseURLを呼ぶとSUSPENDされて一度RESUMEに戻ってからSUSPENDされてブラウザが 起動してるみたいなんだ… ブラウザを起動させたらアプリを終了させたかったんだけど、過去ログを見ると無理っぽいから ブラウザから帰ってきてRESUMEされたらアプリを終了する形にしたいんだが 上記の動きをして望みの結果が得られない… 原因や対処方法が分かる人は教えて欲しい…
985 名前:デフォルトの名無しさん mailto:sage [05/03/16 01:44:18 ] ブラウザ起動時に時間保存。2秒以上経ったら終了。ez2urltoは初期QVGA機は対応してないけどいいのかな。
986 名前:デフォルトの名無しさん mailto:sage [05/03/16 22:00:56 ] なぁ、提出用の状態遷移表って、どんぐらい真面目に書けばいいもの? ゲーム中の状態とか、真面目に書いたらえらいことになるんだが・・・ ステート何百あると思ってるんだよ!!>KDDI
987 名前:デフォルトの名無しさん mailto:sage [05/03/16 23:03:04 ] 起動及び読み込み及び初期化→タイトル→ゲーム→ゲームオーバー ↓ ↓ クリア→エンディング→終了処理 ↓ タイトルへ戻る
988 名前:デフォルトの名無しさん mailto:sage [05/03/17 00:06:02 ] 細かく書け
989 名前:デフォルトの名無しさん mailto:sage [05/03/17 00:40:22 ] >>986 マジでシューティングとかカードゲームとかRPGとか、まともに書いてると気が狂います。 987さんの遷移にエラー画面とサウンド処理を入れたレベルで何とかなりますよ。
990 名前:デフォルトの名無しさん mailto:sage [05/03/17 00:51:20 ] 全面ノーミスだと隠しステージとかいう鬼難易度の遷移を作ると デバッガーを泣かせることができるらしいという噂。
991 名前:デフォルトの名無しさん mailto:sage [05/03/17 01:14:03 ] ###2でNetDebugToolってのが起動するんですが(エミュでも確認できます) これの表示の意味ってどっかに載ってます? 色々探したけど見つからなくて・・・ ご存知の方いましたらよろしくです〜
992 名前:デフォルトの名無しさん mailto:sage [05/03/17 01:29:06 ] >>991 載ってません。
993 名前:デフォルトの名無しさん mailto:sage [05/03/17 08:12:23 ] 誰か次スレを頼む テンプレ自体は>>1-6 (2除外)で変更ないかな
994 名前:デフォルトの名無しさん mailto:sage [05/03/17 12:01:11 ] 立ててみた BREW(Binary Runtime Environment for Wireless) 4 pc5.2ch.net/test/read.cgi/tech/1111028365/ ギコナビ使って立てられねぇ_| ̄|○
995 名前:デフォルトの名無しさん mailto:sage [05/03/17 12:05:29 ] せっかくテンプレがあるので1にはテンプレを、 他いくつかコピっときました。 ミスってたらスマソ
996 名前:ume mailto:sage [05/03/17 12:59:29 ] ume
997 名前:梅 mailto:sage [05/03/17 13:02:30 ] 梅
998 名前:産め mailto:sage [05/03/17 13:02:58 ] 産め
999 名前:膿め mailto:sage [05/03/17 13:03:19 ] 膿め
1000 名前:デフォルトの名無しさん mailto:sage [05/03/17 13:03:40 ] 1000っと
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。