トップページgamedev
1001コメント301KB

HSP - Hot Soup Processor

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/10 04:04ID:???
HSPは、お手軽に使うことのできるスクリプト言語システムです。
テキストによるスクリプトを書くだけで、誰にでも簡単にウインドゥズ上で
画像表示、メニューシステムの構築ができます。
多彩な命令セットを使いこなすことでゲームアプリケーションまで作成する
ことができます。

Hot Soup Processor 公式サイト
http://www.onionsoft.net/hsp/
051149102/04/16 17:04ID:???
>>509あ、引いてないです。うまくマシンによって速度を合わせるには
どうしたらいいですか?
0512HSPは良く知らないけど02/04/16 17:39ID:???
>>511
HSPって現在時刻をミリ秒単位とかで取得することできたっけ?
WindowsAPIでいう、GetTickTime()に相当するもの。

要するに、awaitする時間を、
 await (次のフレームの開始時間 − 現在時刻)
とすればいい。
ttp://ven.virtualave.net/misuzu.cgi?augment=142
このプラグインでできるのかな?
0513HSPは良く知らないけど02/04/16 17:44ID:???
おっと、GetTickCount()だった。
http://game.2ch.net/test/read.cgi/gamedev/1006052623/241-242
ここも参照のこと。
051450802/04/16 18:10ID:???
>>510
あ、言い方が悪かったね。ありがとう。

>>509 >>511-513
いや、await だったら勝手に合わせてくれる。(^^;

> wait命令と似ていますが、await命令は前回waitした時間からの待ち
> 時間を指定します。これにより、描画速度の違いなどから時間が
> 早く過ぎることを防止することができます。リアルタイムで更新
> される画面などの速度を一定に保つ時に使用します。

↑こういうこと。
0515名前は開発中のものです。02/04/16 18:12ID:???
>>512
awaitだったらそんなことする必要ないような
0516名前は開発中のものです。02/04/16 18:15ID:???
基本的に2chねるでは叩かれないものの方が珍しいよ。
ム板で典型的なのはVBね。これでも勝手ぐらい叩かれてる。
同じように、君らは知らないかもしれないけど、C/C++もずっと叩かれている。
0517名前は開発中のものです。02/04/16 18:15ID:???
await30から50くらいって
固定にしてないのか?
0518名前は開発中のものです。02/04/16 18:17ID:???
>>516
おそっ
0519名前は開発中のものです。02/04/16 18:23ID:???
awaitの値は変数にして
設定とかで変えられるようにしとけ。
052037402/04/16 19:43ID:???
>>516
叩いてるつもりは無いんだがなぁ。
まぁ、仕方が無いか。
0521名前は開発中のものです。02/04/16 20:10ID:???
>>514
そうなのか。適当なこと言ってすまん。
というと、原因は描画が重すぎなのか、めちゃくちゃなループをくんでるかのどちらかかな。
052249102/04/17 00:37ID:???
>>519そうですね。変数にすると便利かも。
あと画像はBMP使ってるんですけど、JPGのほうが
処理が早いとかあるんですか?
一応色数で処理の速さが変わるとは聞きましたけど。
0523名前は開発中のものです。02/04/17 05:28ID:???
 普通、前処理で画像ファイルをbufferにロードしてから、メイン
ルーチンではgcopyでscreenにコピーするんだが…描画のたびに
ファイルから読みこんでいるように読めるのは気のせいだろうか。
052449102/04/17 08:50ID:???
>>523一応ちゃんとbufferで読み込ませてからやってます。
でも画面が640×480のサイズなので、
少し大きいかもしれません。
それとウィンドウ表示とフルスクリーンでは
どっちが早くなるのでしょうか?
0525名前は開発中のものです。02/04/17 10:16ID:???
>>524
先に buffer に読んであるならBMPもJPGも関係無いと思われ…

まぁ256色でいいならパレットモードの方がいいでしょ。
ウィンドウだったらフルスクリーンの方が速い…よね?
0526名前は開発中のものです。02/04/17 11:58ID:???
>>525
DirectDraw/3Dでメインメモリにサーフェスやらテクスチャ置いてなければな。<フルスクリーン

>>491
JPEGは圧縮したのを展開する分遅い。ただし、PNGに比べるとJPEGの方が早い。
ちなみにビットマップのコピー速度は640x480 24bitだと5ms以下程度。
(ただし、redrawが1になってるとウィンドウへのコピーが入るので2倍かかる)
052749102/04/17 13:24ID:PImbIDoI
どうもありがとうございます。
redrawを調節してみます。
0528名前は開発中のものです。02/04/17 13:43ID:???
>>526
え、初めに一度 buffer にファイルから読み込んで、そこからコピーするわけだから
BMPもJPEGもPNGも関係無いんじゃないの?
読むのは一回だけでしょ?
0529名前は開発中のものです。02/04/17 14:39ID:???
>>524
 計測したまい。

#include "hspdx.as"
screen 0,640,480,1 : buffer 2,640,480,1
gsel 0 : gmode 0,640,480,128
es_timer a.0
redraw 0
repeat 1000
gcopy 2,0,0
loop
redraw 1
es_timer a.1 : a.3=a.1-a.0 : mes ""+a.3+"ms"
stop
0530名前は開発中のものです。02/04/17 14:40ID:???
 参考値(1000で割った値が1回の描画)
 cel500Mhz 256MB(66) 8MB-AGP

○フルカラー
0:8874ms、1:12324ms、2:14227ms、3:32875ms

○256パレット
0:3017ms、1:4160ms、2:13471ms、3:4154ms

 256の30fps(33ms)ならgmode 0と1の組み合わせで2重スクロールも素でできると思われ。


>>521
 サブルーチンでもawait使ってて一定速度が保てなくなってるのでは。
0531名前は開発中のものです。02/04/17 21:28ID:???
君らさ、馬鹿正直に相手の質問だけに答えるなよ。

まずJPGだけど、これは画質が劣化するからゲームには向かない。
次にパレットモードはかなり制限がきついから今はお勧めできない。
で、ゲームはテーブル系などをのぞいて基本的に
フルスクリーンに対応しているのが良い。
ウィンドウモードは小さくて見難く、疲れるから。
0532名前は開発中のものです。02/04/17 21:36ID:???
>>531
JPEGは量子化、標本化を100%にした場合、ほとんど劣化しないよ。
0533ネタ?02/04/17 22:10ID:???
それは本末転倒というもの。
そもそもJPEGはCGと相性が悪い。
ゲームにわざわざ使うことはなかろう。
0534名前は開発中のものです。02/04/17 23:32ID:???
>533
シーッ!! 量子化、標本化って言いたい年頃なんだから。
053549102/04/18 08:30ID:8nwlI7Ts
みなさん、いろいろとありがとうございます。
0536名前は開発中のものです。02/04/19 00:05ID:zMOB3jfM
>>532
532がホントに量子化、標本化の意味を理解しているか、
小一時間問い詰めたい、問い詰めたい。
0537416 ◆HoSW/FCI02/04/19 04:40ID:???
 まぁ、バックグラウンドぐらいやね、JPEG形式の使いどころは。
 しかしなんでMAG形式が標準サポートなのか…。2.6からはPNG形式を標準サポートしてほすぃ。
0538416 ◆HoSW/FCI02/05/02 05:25ID:SMP1Pq.2
 この板にはHSPユーザーは居ないですか…。ナンカサミスィ。
0539名前は開発中のものです。02/05/02 08:45ID:???
居るよ。
折れ的にはHSP+BCCがいい感じ。
0540名前は開発中のものです。02/05/02 16:33ID:???
HSPデコンパイラのスレで中間言語の仕様を見たが
「酷い」の一言に尽きるな。
プログラミング言語処理系作成の素養のかけらもないって感じ。
誰かドラゴンブックをおにたま氏に買ってやれよ。
あとyaccとlexのマニュアルもな。
あんな厨丸出しの仕様見ているとこっちが恥ずかしくなるからさ。
0541名前は開発中のものです。02/05/02 17:07ID:???
ひさしぶりにアホがきたな
0542名前は開発中のものです。02/05/02 18:09ID:???
>>540
HSPがアレなのは仕方ない事
何せ逆ポーランド記法すら知らなかったようですから
0543名前は開発中のものです。02/05/03 11:31ID:???
>>540
どんなヘタレな仕様だろうが完成させた人は神
ガタガタ言う前にキミが(・∀・)ツクレ!!
0544名前は開発中のものです。02/05/03 13:37ID:???
しかもかなり有名になってるから
すごい神だな。
0545名前は開発中のものです。02/05/07 06:50ID:???
>>542
それマジですか?
ってことは天然要素だけでここまでのものを作ったのか。
0546名前は開発中のものです。02/05/09 08:04ID:7NoMqDDM
・たとえ最も単純なテトリスだろうと、パッケージとして公開するところまで辿りついた人は
 偉大である。一定の敬意を払うべき。
・ソフトウェアをパブリッシュするというのは見た目以上の労力が必要なんだよーん。
・「9割完成した時点で、新たに9割の作業が必要になる」

全部どっかからの受け売り。
0547 02/05/13 03:23ID:qEsU4XYY
でも、JPG最低圧縮でもスプライト透過とか実用に耐えるんですけど。
遣ってみそ。使えるよ。
0548HP16Cユーザ02/05/13 03:38ID:???
>>542
おーっと、逆ポーランド記法について語るのはヒューレットパッカードの
RPN電卓を日常的に使いこなしてからにしてもらおうか。 去ね。
0549名前は開発中のものです。02/05/13 05:01ID:???
>548
そんな誰も知らんようなものを出されても困る。
まずはそのRPN電卓ってやつをHSPで作ってみせてくれ。
0550名前は開発中のものです。02/05/13 07:00ID:???
http://www.niknak.ne.jp/niknak/favorit/HTML/favorit_053.html
『HP16C』も『RPN電卓』も知らないのはさすがに恥ずかしいと思われ。
職業プログラマ用の電卓だよ。自動車板で「ベンツって何?」って言うようなもの。
0551名前は開発中のものです。02/05/13 09:34ID:???
ベンツは知ってるけどそれはしらなかった
0552名前は開発中のものです。02/05/13 20:28ID:???
>おーっと、逆ポーランド記法について語るのはヒューレットパッカードの
>RPN電卓を日常的に使いこなしてからにしてもらおうか。
ずいぶん偏狭な考えですね。
逆ポーランド記法が単なる関数電卓のためだけの
ものだとでも思っているのかしらん。
Smalltalkを知らずにオブジェクト指向を語るなといった傲慢さとあい通じるな。
0553名前は開発中のものです。02/05/13 20:31ID:???
satoshi@DGWって出川サトシなの?
0554名前は開発中のものです。02/05/13 20:41ID:???
プ
0555名前は開発中のものです。02/05/13 22:17ID:???
逆ポーランド記法=Reverse Polish Notation=RPN

って事自体を知らないと思われ。 ググルでRPNで検索してみれ。
0556名前は開発中のものです。02/05/14 06:15ID:???
hgimgとzgp、どちらが使いやすいですか?
0557416(HSP) ◆HoSW/FCI02/05/14 06:42ID:7TFNrLEk
>>556
|hgimgとzgp、どちらが使いやすいですか?

 サンプルを実行しただけなんだけど、たぶんDirectX8.1を入れてしまった環境だと、zgpはやたら重くなる感じ。hgimgは今のところ重くなったことはありません。

 組みやすさに関しては、組んでいないのでわかんないです。リファレンスを眺めた限りでは、zgpのほうが統一感があって組みやすそうですし、X形式が素直に使えるので3Dソフトからのデータ移行が楽かもしれません。
 hgingが扱える物体データは独自のmx形式のみですが、コンバータが用意されているのと、モーション再生ができるma形式をサポートしたことで、優劣の差は無くなったかもしれません。
0558名前は開発中のものです。02/05/15 05:04ID:???
>>557
レスありがとう
hgimgの方はサンプルちょこちょこいじってみたけど、厨な自分には少しややこしかった
zgpのサンプル見てみたけど、意外と短いスクリプトだったんで、こっちの方が簡単なのかなー、
と思ったのです
うーん、xファイルとかはよく分かんないし、コンバートできるのならどっちでもいいかな?と思ってます
hgimgで迷路とか作った時に、壁のアタリ判定はどうしたらよいですか?
サンプルは、単純な四角の部屋なためか、座標の最大と最小を決めているだけでした
複雑な形の壁だとどうしたらいいのでしょうか?
質問ばかりですみません
0559416(HSP) ◆HoSW/FCI02/05/15 05:34ID:???
>>558
 setcoli命令で当り判定を設定して、getcoli命令で検出できます。

 ただ、規則的な壁であれば、配列変数に例えば0が通路、1が壁として座標から割り出したほうが楽かもしれません。壁1つ1つをオブジェクトにして判定すると、壁の数によっては物凄く重くなると予想。
0560名前は開発中のものです。02/05/15 19:02ID:???
>>559
はぁ、そうやるのですか。ありがとうございます
その座標から割り出すってのも考えてました。規則的な壁になると思うので、こっちで頑張ってみます
ただ、とても広いマップになるので、まともな速度で動いてくれるか不安
0561名前は開発中のものです。02/05/15 22:37ID:???
逆コンパイラ記念age
0562名前は開発中のものです。02/05/16 18:06ID:zIJ5EKxE
HSPで素晴らしい出来のゲームって、何だ?
0563名前は開発中のものです。02/05/16 23:28ID:???
>562
それは永遠の謎だから禁句(藁
0564名前は開発中のものです。02/05/17 00:43ID:???
1対1のチャットを作ろうと思っているんですが、
サンプルプログラムを見ながら頑張ってはいるんですが、データ送信ができません。
間違っているとこを指摘してください。
お願いしますー。
0565名前は開発中のものです。02/05/17 00:45ID:???
#include "Hspsock.as"

screen 0,400,500,0
sdim ch,10000
sdim coment,1024
name="匿名希望"
pos 0,25
mesbox ch,400,300,0,10000
input coment,330,30,1024
pos 0,0
input info ,200,25,1024
ipget
pos 0,370
mes "IP="+refstr
pos 200,0
button "接続" ,*conect
stop
;通信情報
*conect
pos 0,400
adr=""+info
port=999
mes "ポート"+port+"で接続を待っています..."
sockmake 0,port
if stat : dialog "Socket error": goto *bye
sockopen 1,adr,port
mes "接続しました"
pos 330,325
objsize 70,30
button "送信" ,*send
stop
0566名前は開発中のものです。02/05/17 00:47ID:???
*aaa
;a=0
repeat -1
sockwait 0
title "CHK="+stat+"/"+a
; ;if stat>1 : dialog "Socket error1": goto *bye
; ;mes "aaa"+stat
; if stat>=0 : gosub *send
sockcheck 1
if stat>1 : dialog "Socket error": goto *bye:
if stat==0 : gosub *get
;mes coment
a++
wait 10
loop
stop
*send
;sockwait 0
t1=0:t2=0:t3=0
gettime t1,4
gettime t2,5
gettime t3,6
mm=name+"("+t1+":"+t2+":"+t3+"):"
mm=mm+coment
if(coment!=""){
sockput mm,1
if stat : dialog "Socket error!!!": goto *bye
;mes "["+mm+coment+"] を送信しました。"
}
goto *aaa
0567名前は開発中のものです。02/05/17 00:48ID:???
*get
data="";
sockget data,64,1
if stat : dialog "socket error" : goto *bye
;mes "["+data+"] を受信しました。"
ch=ch+data+"\n"
objprm 0,ch
return
*bye
sockclose
end
0568名前は開発中のものです。02/05/17 00:49ID:???
ちなみに文字を送信しようとすると
>>566の下から4行目で
エラーが出て終了してしまいます。
どうしたらいいのやら
0569名前は開発中のものです。02/05/17 00:53ID:???
>>564
そーゆーアプリはDelとか使った方が遙かに楽かと。
とくにUI周り。
0570416(HSP) ◆HoSW/FCI02/05/17 01:37ID:8hiCnaoc
>>564
 C/Sタイプのチャットシテスムの流れは

・サーバー側がsockmake命令でソケットを作る(Hspsockの場合は接続数分作る)。
 ↓
・サーバー側がsockwait命令でクライアントからの接続要求を待つ(ループ)。
 ↓
・クライアント側がsockopen命令でサーバーに接続する。
 ↓
 コネクション完了。以後、データのやり取り。

・データの送信はsockput命令など。
・データの受信はsockcheck命令でデータの到着を確認してからsockget命令などで取得。

…です。
 sockwait命令でコネクション(接続)が確立していないのに、データを送信しようとするとソケットエラーになります。
0571416(HSP) ◆HoSW/FCI02/05/17 03:36ID:???
 サーバー券クライアントの場合、ボタンか何かでサーバーになって待つか、クライアントになって繋ぎに行くかを決めれるようにしないと。

 具体的に間違いを指摘すると、サブルーチンの*conect内で、「sockmake 0,port」までは合っているんだけど、次に「sockopen 1,adr,port」っていうのが間違い。
 サーバーはsockmakeのあとsockwait命令で、クライアントからのsockopen命令による着信を待たないといけないわけ。「mes "接続しました"」って出してるけど、実はまだ接続(連結)していなかったり。

 …サンプル書いたほうが早いかな。
0572名前は開発中のものです。02/05/17 09:50ID:???
>>571
サンプルをお願いします。
どこをどうしたら動くのか混乱してきました;
0573416(HSP) ◆HoSW/FCI02/05/17 10:01ID:7o6oNSkQ
>>572
 あのサンプルはチャット用に改造するのには向いていないからね…。
 行数制限があるので、かなり詰めてます。
0574416(HSP) ◆HoSW/FCI02/05/17 10:04ID:???
#include "hspsock.as"
title "TCPサーバーテスト"

*init
sdim log,32000 : sdim say,256 : sdim s,256 : mesbox log,640,400,0
port=999 : pos 0 :mes "ポート"+port+"で接続待機中..."
sockmake 0,port : if stat : dialog "Socket make error": goto *bye
onexit *bye ;終了時必ずソケットを閉じる。

repeat ;接続待ち
wait 1 : sockwait 0 : if stat>1 : dialog "Socket error" : goto *bye
if stat=0 : break ;キター
loop

pos 0,400 : input say,580,24,128 : pos 580,400 : button "送信",*send : pos 0 : mes "接続しました。"

*main
wait 1 : sockcheck 0 : if stat>1 : dialog "Socket error!": goto *bye
if stat=0 : gosub *get ;受信データ有り
goto *main

*get
sockget s,128,0 : if s!"" : log+=s+"\n" : objprm 0,log
return

*send
if say="" : goto *main ;相手が切断するとなぜか受信
sockput say : if stat : dialog "Socket error": goto *bye
say="" : objprm 1,say : goto *main

*bye
sockclose : end
0575416(HSP) ◆HoSW/FCI02/05/17 10:07ID:???
#include "hspsock.as"
title "TCPクライアントテスト"

*init
sdim log,32000 : sdim say,256 : sdim s,256 : mesbox log,640,400,0
adr="127.0.0.1" ;相手(サーバー)のIPを入力。ローカルなら127.0.0.1
port=999 : mes adr+"、ポート"+port+"に接続中..."
sockopen 0,adr,port : if stat : dialog "socket error" : goto *bye
onexit *bye
pos 0,400 : input say,580,24,128 : pos 580,400 : button "送信",*send : pos 0 : mes "接続しました..."

*main
wait 1 : sockcheck 0 : if stat>1 : dialog "Socket error!": goto *bye
if stat=0 : gosub *get ;受信データ有り
goto *main

*get
sockget s,128,0 : if s!"" : log+=s+"\n" : objprm 0,log
return

*send
if say="" : goto *main : else : sockput say : if stat : dialog "Socket error": goto *bye
say="" : objprm 1,say : goto *main

*bye
sockclose : end
0576名前は開発中のものです。02/05/17 10:43ID:???
>>573
ありがとうございます。
サーバークライアントを1つにしたプログラムは作れるのでしょうか?
そうすればプログラムも同一のもの作ればいいし、2つにサーバーとクライアントに
わけるなら出来そうなんですが、1つで兼用することは可能ですか?
出来る方法があるのならば教えていただけないでしょうか。
よろしくお願いします。
0577名前は開発中のものです。02/05/17 14:12ID:???
>>573
ありがとうございました!出来ましたです。

また疑問が沸いたのですが、
メッセージボックスのスクロールバーを自動的に一番下まで下げる方法はありますか?
メッセージが多くなるとスクロールバーをいちいち下げなくてはいけないので
面倒です。
なにかいい方法はありませんでしょうか?
よろしくお願いします。
0578名前は開発中のものです。02/05/17 21:18ID:???
sendobj
0579名前は開発中のものです。02/05/17 22:27ID:???
>>578
ないじゃん
0580名前は開発中のものです。02/05/17 22:57ID:???
>>577
そういう用途にHSPは向いてないぞ。
出来ないことはないが非常にめんどくさいし、そもそも本末転倒。
開発言語を再考することをお勧めする。
0581名前は開発中のものです。02/05/17 23:09ID:???
メッセージボックスの中の文字の色って変えられますか?
0582416(HSP) ◆HoSW/FCI02/05/17 23:16ID:8hiCnaoc
>>577
 サブルーチン「*get」にある「objprm 0,log」の後ろに以下の2行を付け加えてくだしぃ。

strlen a,log : objsend 0,$b1,a,a,1 ;キャレットを最後尾に移動
a=0 : objsend 0,$b7,a,a,1 ;キャレットの位置にスクロール

 objsend命令については「docs」フォルダ内の「OBJSEND.HTM」を参照をば。
0583名前は開発中のものです。02/05/18 00:52ID:???

>>582
ありがとうございました! 出来ましたです!
また欲が出てきまして、
チャットの中の文字の色を変えたいと思っているのですが、
メッセージボックスの中の文字の色って変えられますか?
0584416(HSP) ◆HoSW/FCI02/05/18 01:40ID:???
>>583
 buttonやmesbox、inputなどのオブジェクトの色を変更するには、拡張プラグインを利用する必要があると思います。とりあえず、それができるプラグインで知っているのは、

「Exforce.dll」の「objcol命令」…ぐらいかな。あとは「rem.hpi」でRichEditを使う方法でしょうか。HSPの拡張プラグインについての情報は

「HSP Plug-in Information Center」
ttp://ven.virtualave.net/

に集約されています。

 あと、mesboxを使わず、メモリノートパッド命令を使用して、color、pos、mes命令を屈指して描画するという方法もあります。
058558302/05/18 08:20ID:???
>>584
ありがとうございます! すごいっすね。

「rem.hpi」をDLしてきたんですけど
使い方がいまいちわからないんですが、
mesboxの文字色、背景色変更するには実際、どんな感じで書けばいいのでしょうか?
たびたびすいません。
0586名前は開発中のものです。02/05/18 17:42ID:???
>>574-575
丁度知りたかった通信サンプルだ。ありがたい。
0587416(HSP) ◆HoSW/FCI02/05/19 00:56ID:???
>>585
 ゴメ、「RichEdit Messanger(rem.hpi)」はAPL知らないと無理でした。一応長いほうのサンプルにずばりなソースがありますが、これを覚えるより、まずはメモリノートパッド命令を覚えたほうがよいかも…。
0588名前は開発中のものです。02/05/19 02:17ID:???
>>585
何でも知りたがるのは悪くは無いが、いくらなんでもウザ過ぎ
「調べる」「諦める」っていう言葉を知れ。
ってか何でスクリプトの例を求める?
どう見ても、「少し作る→わからない→聞く→コピペ」を繰り返してるようにしか見えん。

あと、答えてる方も親切過ぎ。そんなんじゃ自分で覚えないでしょ。
せめてヒントだけにして、最低限調べるようにさせないと。
0589名前は開発中のものです。02/05/19 02:38ID:???
まあ、わかんないことは人に聞くのもありだが。
解答そのものが与えられるまで同じ事を聞くのは、だめだよな。
>あと、mesboxを使わず、メモリノートパッド命令を使用して、color、pos、mes命令を屈指して描画するという方法もあります。
こっちの方法なら使い込んでない俺ですらわかるぞ。
書き換え時にboxfも要る…と思うけど。
0590名前は開発中のものです。02/05/19 05:14ID:???
>>588-589
ハゲード。
まあ416(HSP)の存在で有益な流れになりそうなヨカーン。
0591416(HSP) ◆HoSW/FCI02/05/19 06:06ID:???
>>588
 基礎部分は教えてもいいと思ってるんですよ。基礎として参考になるソースがあれば、そっちに誘導しますが、チャット(というかデータの待ち受け)に関する基礎ソースがなかったんで、作っちゃいました。
 あと、一応、自身でサンプルソースに手を加えて試行錯誤してたようなので。

 応用レベルについては、ご指摘の通りヒントのみにするつもりです。
059258502/05/19 08:10ID:???
>>589
その方法ならログが残っていかないような・・
接続してから切断するまでの会話をすべて表示できないのでは。。
mesboxに表示するならすべて会話は記録されるね。
>>585はmesboxに書き込んだ文字を人ごとに色を変えて書き込みたいのでは?
といってみるテス。
0593名前は開発中のものです。02/05/19 12:44ID:???
>>592
>その方法ならログが残っていかないような・・
工夫すれば何とでもなる。
自前で用意するのが面倒だというならRichEditを。

>書き込んだ文字を人ごとに色を変えて書き込み
その場合、自分で作るかRichEdit使うかのどちらかじゃないと無理。

ところで、何で>>592は585にレスをしつつ585を名乗っているんだ?
0594名前は開発中のものです。02/05/19 22:05ID:???
明らかに初心者なのにRichEditを勧めるのはどうなのか。
色分けしたいと思うのは勝手だが、SendMessageとがんばって格闘すれば?w

ちなみに、俺はKazREdit.hpi使って作られたHSP用エディタ持ってるよ。
HSP界では超有名な人が作ってて、かなり完成度高くて、色分けまで出来るやつ。
作者の人に聞いたら、「objsendだけでソース書いてる感じ」だと。w
0595416(HSP) ◆HoSW/FCI02/05/20 01:46ID:???
>>589
 現状でも文字変数logの内容をobjprm命令でmesboxを描きなおしているわけで、ログがあるのは文字変数logのおかげなんですよ。
 自前で描画できるようになると、名前の変わりとしてあらかじめ用意していた画像を利用することもできますし、文中の特定の単語を画像に置きかえることも可能になります。

>>594
 そう、その「KazREdit.hpi」を探していたんですよ。で、無かったんで中身を確かめずに「rem.hpi」を紹介しちゃったと…。
 今は ttp://tech.ne.nu/soft.html に移転してたんですね。

 ただ、どちらにせよRichEditはその名の通りエディタ用なので、受信した文字を表示するだけのチャットに利用するのは大げさなんですよね。徒歩5分の自販機へキャンピングカーで行くみたく。
059659302/05/20 11:45ID:???
文字ごとに色分けするなら、mesboxでは何送ろうが不可能でしょ?
だったら、自前で用意するかKazREdit.hpiやらrem.hpiやらでRichEditを利用するか。

まぁ、>>595が言ってるように、この場合自前でやった方がいいか。
チャットなんてそんな高機能でなくても適当な機能だけでいいしな。
0597名前は開発中のものです。02/05/20 18:10ID:???
てか何で色分けしたいのか自体が謎。
発言者ごとに色を変えたいなら、自前でやったほうが遥かに楽だよ。
一行ずつ描画してって、その都度発言者チェックして色変えればいいだけ。
でも列挙されたキーワードの色を変えるんなら、自前じゃ難しい。

ところで、2.6b13にバージョンアップしてたけど、結構便利になったね。
/* 〜 */ のコメント形式が使えるようになったり、#IF #ENDIF とかアリガター(゚∀゚
でも、そろそろ仕様に無理があるような・・・。
0598名前は開発中のものです。02/05/21 18:43ID:???
プリプロセッサの強化を喜ぶなよ。ますますマズイ方向に行っているだけだぞ。
0599名前は開発中のものです。02/05/25 00:12ID:???
HSPで作ったアクション系のゲームが遊べる最低動作スペックってどんなもん?
でけたーと思って人にプレイしてもらったらK6/500Mhzじゃ遅い、みたいなこと言われて
ショックなんだけど。
0600名前は開発中のものです。02/05/25 06:14ID:???
作り方によるよ
背景とかの処理を変えたりすると、大抵は、かなりサクサク動くようになったり
スクリプトの軽量化なんかもやってみて
0601416(HSP) ◆HoSW/FCI02/05/25 06:26ID:???
>>599
 計算コストで重くなるということはほとんどないと思うから、描画コストも問題だろうね。

 1フレームでどれぐらい画像転送してるん? グラフィックボードにも左右されるけど、500Mhzだと640*480の30fで通常1画面+透明色指定1画面分とちょいが限度みたく。これ以上のはDirectX使わないとダメだあね。

 ちなみにredrawを使わないと、描画命令のひとつひとつがリフレッシュレートでつまづきます。
0602名前は開発中のものです。02/05/25 08:51ID:???
>>599
画像の転送量や組み方によって違ってくるからね。
0603名前は開発中のものです。02/05/25 13:51ID:???
>>600-602
レスサンクスです。
画像の転送量が多いのが問題くさい(>>601さんが言う量より遙かに多い)
んで、スクリプトの計量化共々はじめから見直してみますわ。
0604名前は開発中のものです。02/05/25 14:22ID:???
HSPでWindowsXPをシャットダウンして電源を切らせる方法ってありますか?
0605名前は開発中のものです。02/05/25 19:54ID:???
>>604
ExitWindowsEx()
0606名前は開発中のものです。02/05/25 20:53ID:???
>>605
いろいろやってみたが、だめみたいだ;
0607名前は開発中のものです。02/05/25 21:55ID:???
>>606
http://msdn.microsoft.com/library/en-us/sysinfo/shutdown_3ago.asp
のRemarks参照

↓サンプルコード
http://msdn.microsoft.com/library/en-us/sysinfo/shutdown_7z8u.asp
0608名前は開発中のものです。02/05/25 22:48ID:???
>>607
ごめん、わからん;;
たとえば、exec 命令で書けばいいんだろうか?
0609名前は開発中のものです。02/05/25 23:27ID:???
>>608
プラグイン書くのが一番手っ取り早い。(loadlib.dllでもできるはずだが可読性が低いしなにより面倒なのでお勧めしない)
上のコードのエラー処理を適当に直せばほぼそのまま使えるはず。

ついでにExitWindowsExの日本語リファレンス。(日本語のMSDNライブラリは情報抜け(構造体やメッセージの情報が載ってない))のでお勧めできないが
http://www.microsoft.com/JAPAN/developer/library/jpsetupf/_win32_exitwindowsex.htm
0610416(HSP) ◆HoSW/FCI02/05/26 00:22ID:???
>>604
 プラグイン「hspext」が必要だけどsysexit命令はだめでしたか?
 アプリケーションキャプチャーで無理やりってな手もあるけど(藁。
■ このスレッドは過去ログ倉庫に格納されています