[1333] [RC1]オブジェクトファイルの直接実行について 投稿者:chrono 投稿日:05/07/22(金) 20:50
hsp3.exeでオブジェクトファイルを実行するとき、起動オプションを
付けると起動に失敗するようです。
hsp3cl.exeではうまくいきます。
[1337] Re: [RC1]オブジェクトファイルの直接実行について 投稿者:chrono 投稿日:05/07/23(土) 09:01
> hsp3.exeでオブジェクトファイルを実行するとき、起動オプションを
> 付けると起動に失敗するようです。
原因はコマンドラインに指定したオブジェクトファイル名(私はフルパス
で指定してました)に1バイトスペースが含まれていたせいでした。
HSP2.61でもhsp2.exeは上記のようなものは受け付けない仕様だったかもし
れませんが(忘れていたのは私のミスです)、少し窮屈なように思います。
[1338] Re^2: [RC1]オブジェクトファイルの直接実行について 投稿者:Shark++ 投稿日:05/07/23(土) 12:37
ちなみに
c:\program files\hsp\a.ax
みたいなファイルのことですか?
見当違いなことを言っていたら忘れてください
上記の事でしたら
"c:\program files\hsp\a.ax"
と"で囲わないと
c:\programを読み込もうとしてファイルオープンに失敗すると思います
[1340] Re^3: [RC1]オブジェクトファイルの直接実行について 投稿者:chrono 投稿日:05/07/23(土) 18:32
Shark++さんこんにちは。
> "c:\program files\hsp\a.ax"
> と"で囲わないと
> c:\programを読み込もうとしてファイルオープンに失敗すると思います
はいその点は既に注意しているのですが、""で囲んでも、
cline = "hsp3.exe \"c:\\program files\\hsp\\a.ax\" p1"
hsc3_run cline,0
のように起動オプションを付加すると起動できなくなります。フル
パスではなくファイル名のみでも1バイトスペースが含まれていると
ダメです。
[1341] Re^4: [RC1]オブジェクトファイルの直接実行について 投稿者:Shark++ 投稿日:05/07/23(土) 19:18
こちらでも確認できましたが、たしかに、おかしな動きをしますね
あと、エディタの色分けもいまいちおかしいですね
○
cline = "hsp3.exe C:\\hsprun\\run_sub.ax p1"
×
cline = "hsp3.exe \"C:\\hsp run\\run_sub.ax\" p1"
cline = "hsp3.exe C:\\hsp run\\run_sub.ax p1"
cline = "hsp3.exe \"C:\\hsprun\\run_sub.ax\" p1"
フォルダ名を変えたりして4パターン試してみましたが、
下の3つはファイルがあるのにもかかわらず "Startup failed." とエラーが出てしまいますね
HSP3バグトラッッキングシステムに報告したほうがよいのではないでしょうか
[1377] Re^5: [RC1]オブジェクトファイルの直接実行について 投稿者:chrono 投稿日:05/07/27(水) 09:03
すでにご存知かもしれませんが、RC2で対応していただきました。
それでは。
[1276] ATLエラーが出ます 投稿者:eller 投稿日:05/07/19(火) 06:05
おにたまさんこんにちは。いつもHSPを使わせてもらっている者です。RC版公開お疲れ様でした。
HSP側のバグか否かは分かりませんが、β版では発生しなかったのでお伝えしておきます。
HSP実行時(F5を押した時)に
“Can not run Unicode version of ATL71.DLL on Windows 95, Windows98 or Windows Me.
Please install the ANSI version.”
というダイアログが出ます(その後正常に実行されます)。XPでは出なかったのですが、MEだと出るようです。ソースを全く記述していない状態でも発生します。
これにはどう対処すれば良いのでしょうか?もしHSP側のエラーでしたら改善をお願いします。
[1309] Re: ATLエラーが出ます 投稿者:ちょくと 投稿日:05/07/21(木) 15:27
atl71.dll にはANSI版とUnicode版の2種類があるのですが、Win9x/Me では
ANSI版のDLLしか実行させることができません。eller さんの環境では、
何か別のソフトウェアが間違ってUnicode版の atl71.dll をインストール
してしまったと考えられます。
結局のところ、どのソフトウェアからもそのUnicode版 atl71.dll を
使うことはできないので、atl71.dll 自体をシステムディレクトリから
削除してしまっても問題ないように思います。HSP3では、atl71.dll が
ない場合には atl.dll を使うようになっていますし。
ところで、この現象の起きる Win9x/Me 環境って結構多いんですかね?
あまりに多いようなら、なんか対策立てないと…。(9x系では atl71.dll
使わないようにするとか)
あと、現状では axobj 命令を使わなくても開始時に Atl71.dll/Atl.dll を
ロードしていますが、axobj 命令の実行時にロードするようにしたほうが
よさそうですね。
[1376] Re^2: ATLエラーが出ます 投稿者:eller 投稿日:05/07/27(水) 06:34
ちょくと さんありがとうございました。DLLを削除したところ、問題なく動作致しました。
[1350] ちょくとさんへの報告 投稿者:おくだ 投稿日:05/07/24(日) 00:49
1
前回の要望をかなえていただきありがとうございました。
おかげ様で作業が楽になりました。
2
前回の質問ですが解決しなかったので
具体的なサンプルを以下のURLにアップロードしました
http://www.kct.ne.jp/~okuda/newcomlab2/DriveCollection.html
;HSP3での試したスクリプト
#usecom IID_IEnumVARIANT "{00020404-0000-0000-C000-000000000046}"
#comfunc IEnumVARIANT_Next 3 int,int,int,int
dimtype var, vartype("variant"), 1
newcom pFileSystem3, "Scripting.FileSystemObject"
pDriveCollection=pFileSystem3("Drives")
dialog pDriveCollection("$interface")
pUnk=pDriveCollection("_NewEnum")
dialog pUnk("$interface")
mes ""+varuse(pUnk)
; とりあえず1回のみ取得
querycom pEnumVARIANT, pUnk, IID_IEnumVARIANT
IEnumVARIANT_Next pEnumVARIANT, 1, varptr(var), varptr(pbuf), 0
pDrive = var("value")
dialog ""+pDrive(Path)
delcom pUnk
delcom pDriveCollection
delcom pFileSystem3
stop
;どのように修正すべきでしょうか。
3
bool値を取得するとエラーがでます。
comtest2.hsp で stop の前に
mes ""+ie("Visible")
としてみればどうなるかわかるはずです。
4
BSTRを扱う命令なり関数を用意していただけませんか。
dimtype var, vartype("variant"), 1
var("vt")=VT_BSTR
var("value")=bstr("あいうえお")
とか。。。
[1357] Re: ちょくとさんへの報告 投稿者:ちょくと 投稿日:05/07/25(月) 01:43
すみません、どうやら querycom にバグがあったみたいです。
querycom の結果が2番目の変数に格納されてしまっています。
修正しておきます。今は
pEnumVARIANT = pUnk
とでもしておくか、もしくは直接
IEnumVARIANT_Next pUnk, 1, varptr(var), varptr(pbuf), 0
としておいてください (このスクリプトの場合は querycom の
明示的な実行は必要なさそうな気もしますが)。あと
> dialog ""+pDrive(Path)
dialog ""+pDrive("Path") ; ←ダブルクォーテーション
> bool値を取得するとエラーがでます。
これについても修正しておきます。
> BSTRを扱う命令なり関数を用意していただけませんか。
こういうことですか?
dimtype var, vartype("variant"), 1
var("value")="あいうえお"
それとも、直接BSTR(ポインタ)を代入できるように?
[1362] Re^2: ちょくとさんへの報告 投稿者:おくだ 投稿日:05/07/26(火) 00:20
ちょくとさん、ご指導ありがとうございました。
> このスクリプトの場合は querycom の
> 明示的な実行は必要なさそうな気もしますが)。
ご指摘通りでした。
ありがとうございます。
> > BSTRを扱う命令なり関数を用意していただけませんか。
>
> こういうことですか?
>
> dimtype var, vartype("variant"), 1
> var("value")="あいうえお"
>
> それとも、直接BSTR(ポインタ)を代入できるように?
var("value")="あいうえお"
とすることでvariant構造体の bstrVal メンバに
BSTRに変換されるんですね。
でも、現状でAPIやIUnknownのメソッドがBSTRを引数として要求したり
戻り値をBSTRで返す場合に対応できますでしょうか?
[1375] Re^3: ちょくとさんへの報告 投稿者:ちょくと 投稿日:05/07/27(水) 03:47
> でも、現状でAPIやIUnknownのメソッドがBSTRを引数として要求したり
> 戻り値をBSTRで返す場合に対応できますでしょうか?
RC2よりVariant型変数のプロパティ名 "bstrptr" が追加されました。
#uselib "oleaut32.dll"
#func SysAllocString "SysAllocString" wstr
; BSTR作成 -> Variantに格納
s = "ABCDE"
dimtype a, vartype("variant"), 1
SysAllocString s
a("bstrptr") = stat
mes a("value")
; VariantからBSTR取得 -> ANSI文字列に変換
bstr = a("bstrptr")
dupptr r, bstr, 1
mes cnvwtos(r)
[1361] シャットダウンとか 投稿者:猫太 投稿日:05/07/26(火) 00:17
APIつかってシャットダウンとか再起動とかスタンバイ、休止状態ユーザー切り替え、ログオフとか出来ないですかね??
sysexitだと上手く出来ません!!
みなさまお願いいたしますm(_ _)m
[1364] Re: シャットダウンとか 投稿者:芝やん 投稿日:05/07/26(火) 01:58
Windows 2000,XPを使っていられるのならば普通にExitWindowsExしてもシャ
ットダウンなどの処理は出来ません。プロセスに適切な権限を与える必要が
あります。
この手の情報はウェブ上にかなりあるのでNT,ExitWindowsExなどのワード
で調べてみてください。
[1363] Re: シャットダウンとか 投稿者:Shark++ 投稿日:05/07/26(火) 00:27
状況がよく分からないので想像で話すしかないのですが、この不具合が原因なら、APIにしても結果は同じ気がしますが(試してみないと分からないですが)
http://quasiquote.org/hspbt/guest?project=hspb3&action=view_report&id=26
これが原因ならHSPの対応を待つしかないですね。
とりあえず、APIは ExitWindowsEx のようです。
http://www31.ocn.ne.jp/~yoshio2/vcmemo18-1.html
http://www.h4.dion.ne.jp/~fht/wptips/shutdown.html
ちなみに、あなたのHSPプログラム起動中に他のプログラムでシャットダウンなどは試してみましたか?
また、同じくスタートメニューでも試してみましたか?
[1365] Re^2: シャットダウンとか 投稿者:Irisawa 投稿日:05/07/26(火) 11:28
> http://quasiquote.org/hspbt/guest?project=hspb3&action=view_report&id=26
> これが原因ならHSPの対応を待つしかないですね。
あっ、これ対応済みですね。
完了させないとまずいな...。
> とりあえず、APIは ExitWindowsEx のようです。
> http://www31.ocn.ne.jp/~yoshio2/vcmemo18-1.html
> http://www.h4.dion.ne.jp/~fht/wptips/shutdown.html
一応上にもサンプルが出ていますが参考になるサイトは多ければ多いほど
いいということで、隠しAPIなどについて結構詳しく書いてあるサイト。
http://www.runan.net/program/tips/sdk_13_ExitWindowsEx.shtml
[1366] Re^3: シャットダウンとか 投稿者:猫太 投稿日:05/07/26(火) 13:10
みなさま色々とありがとうございますm(_ _)m
ExitWindowsExの使い方は少々分かりましたが、権限の設定がよくわからず
つまずいています(^_^;)
Shark++ さん
僕のプログラムではちゃんと終了しますが、強制終了ダイアログが出ます
。終了を選ぶとやっと終了作業が再開されます。
芝やんさん
検索でのヒントありがとうございますm(_ _)mもうちょっと探してみます。
Irisawaさん
おすすめサイトを教えていただきありがとうございます上記と同じく、い
ろいろとさがしてきます。
長くなりましたが、みなさまありがとうございます!!
[1367] Re^4: シャットダウンとか 投稿者:芝やん 投稿日:05/07/26(火) 13:38
HSP2.6向けだったのを3.0に書き直したので間違いがあるかもしれませんが
こんな感じでいけると思います。
#include "user32.as"
#include "kernel32.as"
#include "advapi32.as"
// プロセスに"SeShutdownPrivilege"権限を与える
GetCurrentProcess
hProcess = stat
OpenProcessToken hProcess,0x0028,varptr(hToken)
LookupPrivilegeValue 0,"SeShutdownPrivilege",varptr(Luid)
TokenNew.0 = 1,Luid,0,2
AdjustTokenPrivileges hToken,0,varptr(TokenNew),0,0,0
/*
#define EWX_LOGOFF 0
#define EWX_SHUTDOWN 0x00000001
#define EWX_REBOOT 0x00000002
#define EWX_FORCE 0x00000004
#define EWX_POWEROFF 0x00000008
*/
// 再起動します
ExitWindowsEx 2,0
end
[1368] Re^5: シャットダウンとか 投稿者:猫太 投稿日:05/07/26(火) 14:55
> HSP2.6向けだったのを3.0に書き直したので間違いがあるかもしれませんが
> こんな感じでいけると思います。
>
> #include "user32.as"
> #include "kernel32.as"
> #include "advapi32.as"
>
> // プロセスに"SeShutdownPrivilege"権限を与える
> GetCurrentProcess
> hProcess = stat
> OpenProcessToken hProcess,0x0028,varptr(hToken)
> LookupPrivilegeValue 0,"SeShutdownPrivilege",varptr(Luid)
> TokenNew.0 = 1,Luid,0,2
> AdjustTokenPrivileges hToken,0,varptr(TokenNew),0,0,0
> /*
> #define EWX_LOGOFF 0
> #define EWX_SHUTDOWN 0x00000001
> #define EWX_REBOOT 0x00000002
> #define EWX_FORCE 0x00000004
> #define EWX_POWEROFF 0x00000008
> */
> // 再起動します
> ExitWindowsEx 2,0
> end
芝やんさん上手く動きましたよ!!
大変参考になりました!!
[1369] Re^6: シャットダウンとか 投稿者:猫太 投稿日:05/07/26(火) 14:57
> 芝やんさん上手く動きましたよ!!
> 大変参考になりました!!
ちなみに環境はWindows XP Home Edition Service Pack 2でHSP3 RC1です
。
[1307] HSP3rc1のバグ? 投稿者:ぷま 投稿日:05/07/21(木) 12:14 <URL>
おにたまさん 開発 ご苦労さまです。(^^)
HSP3rc1で 気がついたことで 標準命令に関してのみ下記します。
1)デスプレイ16bit色環境で picload画質 きたない。 bmpsaveもきたない(HSP261は きれい)
16bit色環境で 24bitBMP、JPEGなどの写真画質の画像を
picloadすると減色されてしまいます。(マッハバンドがでる)
picload "test.jpg"
bmpsave "test.bmp";bmpsave(24bit)で減色されてしまう
2)mesboxでフォント"WingDings"などで文字化け(HSP261はOK)
font "WingDings",100,16:objmode 2
a="":poke a,0,255
mes a;OK
mesbox a,300,250,5;変数aが文字化け
stop
3)vramに memset でエラー(1byte)
screen 0,640,480,0
mref vram,66
memset vram,160,ginfo_winx*ginfo_winy*3;-1
4)pokeでメモリ不足
title "pokeで 1バイトメモリ不足"
a="012345678901234567\n";20byte
l=strlen.a
sdim buf,20*5+1;+1;1バイト余計にしないとならない。
i=0
repeat 5;100byteのデータ作成
poke buf,i,a :i+=l;NG
;buf+=a;OK(自動拡張)
loop
mes strlen.buf
mes buf
5)pokeでのstrsizeが 1バイト大きい。
a="abc"
buf="xxxxxxxxxxxxxxxxxxxxxxx"
repeat 3
poke buf,i,a:i+=strsize;-1;strsizeは高速化のため 3であって欲しい
loop
mes strsize
mes buf
6)hspstat 動作せず
mes hspstat
7)マクロ内でstrf(%xなど)が使えない
#define sqr(%1,%2) %1=strf("%3.4f",sqrt(%2));平方根を下4桁に制限してみるマクロ
a=2
;mes strf("%3.4f",sqrt(a));こういうのをマクロにできない
sqr b,a
mes b
8)gzoom
>拡大縮小時にハーフトーンを使用した高品質な画像を生成します。
Windows 9Xはハーフトーンは 使えません。自前処理にする必要があります。
面倒だったらヘルプ対応。
9)fontアンチエイリアス
Windows 9Xで動作していません。
Windows2000系で アンチエイリアスになりっぱなしになっている。
font msgothic,200,16
mes "あ"
font msgothic,200
mes "あ"
10) sendmsg EM_SETSEL byte数でなく文字数になっている(hsp3rc1)。
Ver2.X objsendと互換あるものでないと非常に都合が悪い。
title "あいう(6バイト)を検索し選択してみる"
#defineEM_SETSEL$B1//選択開始位置と終了位置の設定
moji="あいう";検索文字列
buf="aaaaあいうえお12345678"
mesbox buf,200,100,5:id=stat
hazime=instr(buf,i,moji);選択開始位置(検索)
owari=hazime+strlen(moji);選択終了位置
sendmsg objinfo_hwnd(id),EM_SETSEL,hazime,owari;6文字選択されてしまう
11) winx、winyに あたる システム変数が無い。
>winx → ginfo_winxマクロに名称変更
>winy → ginfo_winyマクロに名称変更
現在のwinx、winyは HSP2.Xのwinx、winyにあたるものではなく初期化サイズになっています。
ループ内で よく使われるwinx、winyが ヘンなマクロで
いちいち計算しないとならないのでは遅くなってしまう。
HSPを高速な方向に もっていってもらいたいと思うのです。。。
12) ginfo
ginfo_sizex,ginfo_sizeyが ウインドウ最小化時 160,31等に変わってしまう。
screen 0,100,20
repeat
wait 5
title ""+ginfo_sizex+" "+ginfo_sizey
loop
これは2.61でも同じですが 3.0では winxを計算しようとすると こういうことがあるので
正確な現在のウィンドウサイズを計算しようとすると いろいろ回避が必要。
(2.61の winxにあたるものが必要では?ということ)
13) エディタの「HSP拡張マクロを使用する」にチェックしないと Ver3の 記述ができない。
エディタの「HSP拡張マクロを使用する」にチェックしないと notemax でエラー
alloc a,100
a="aaa\n"
notesel a
notemax max
14) objmodeの p2のモードが正常動作していません。
objmode 2,0
font "MS 明朝",20
buf="あああ"
input buf,200,26
input buf,200,26
15) input
>p4が省略された場合には、p1で指定された変数に格納できる最大文字数が自動的に割り当てられます。
最大文字数が自動的に割り当てられていません。(2.61はOK)
sdim a,3
input a,200,26
16) cls
>cls命令で画面をクリアすると、 画面にあるボタンや入力ボックスなどの
>オブジェクト類、設定されているパレットなどすべてが初期状態に戻ります。
パレットは 初期化されません。3.xは されなくていい思う。
(2.61は 初期化されます)
17) #cfuncで globalが使えない
18)screen スクロールバー付かず。 ウィンドウが初期化サイズにならない。(width,手動で大きくできない)
dispx=ginfo_dispx;変数名が長いため
dispy=ginfo_dispy
screen 1,dispx,dispy,0,(dispx-400)/2,(dispy-300)/2,400,300
color 0,0,255 :boxf
;width 400,300
title ""+ginfo_winx+" "+ginfo_winy
gsel 1,2
;----- 要望
19)マクロ名
ginfo_wy2 とか ginfo_vx 等 マクロ名が長い割りに意味不明。
HSP2.Xのような 短くて分かりやすいものにしてもらいたいものです。
20)dup こういうことができなくなって 高速なワザができなくなった。(HSP261はOK)
dup b,a:b=""
a=65
mes b
stop
21)peekで文字列の読み出しができなくなった。(文字列の最後まで読み出してくれる新しい命令を)
peek/poke/callfunc は 徹底的に速くして欲しいという願望があるので
peekで文字列が無くなるのはいい方向だと思っています。
その代わり、文字列の最後まで読み出してくれる新しい命令の追加が
必要なのでは?と思います。他の命令の組み合わせでもできますが
strlenなどを いちいち使うのでは文字列処理が遅くなってしまうので、。
;--- 他
22) hsp3util.asの bmppalette命令 スクリ間違っています。(エンバグ)
23)Win32APIマクロ(gdi32.asなど)をインクルード時のEXEファイルサイズ
インクルードするだけで 実行ファイルサイズが激増してしまいます。
参照されない関数は コンパイラで無視するとか。。
[1356] Re: HSP3rc1のバグ? 投稿者:方位記号 投稿日:05/07/24(日) 23:50 <URL>
> 10) sendmsg EM_SETSEL byte数でなく文字数になっている(hsp3rc1)。
> Ver2.X objsendと互換あるものでないと非常に都合が悪い。
>
> title "あいう(6バイト)を検索し選択してみる"
> #defineEM_SETSEL$B1//選択開始位置と終了位置の設定
>
> moji="あいう";検索文字列
> buf="aaaaあいうえお12345678"
> mesbox buf,200,100,5:id=stat
>
> hazime=instr(buf,i,moji);選択開始位置(検索)
> owari=hazime+strlen(moji);選択終了位置
> sendmsg objinfo_hwnd(id),EM_SETSEL,hazime,owari;6文字選択されてしまう
http://support.microsoft.com/default.aspx?scid=kb;ja;418099
この辺(EM_LIMITTEXTしか触れられていないが、大半のメッセージが文字単位になる)が原因なので
XP上でのこの動作は仕様といったほうがよいのではないでしょうか。
[1346] Re: HSP3rc1のバグ? 投稿者:sou 投稿日:05/07/23(土) 22:34
ぷまさんの HSP3rc1のバグ報告ですが 全部確認しましたので一応報告して
おきます。
7)と22)の意味が よく解らなかったのですが それ以外は 全部バグだ
と思います。
システム変数の名前は 僕も ginfo_vx とかつけても
あまり意味がないと思うので scrollxとかにした方が解り易くていいと思
います。
[1308] Re: HSP3rc1のバグ? 投稿者:ぷま 投稿日:05/07/21(木) 13:19 <URL>
この掲示板 スクリプトのタブを削除してしまうので、
動かなくなってるスクリがあるそう ですので
以下に同じものをupしました。(^^;
http://dream.freespace.jp/perl-bin/puma/lng/joyful.cgi?print+200507/05070013.txt
[1360] Re^2: HSP3rc1のバグ? 投稿者:くに 投稿日:05/07/25(月) 16:53 <URL>
たくさんあるので、Wikiに臨時でおかせてもらいました。
この方が編集はしやすいでしょう。
HSP3βの不具合など
http://quasiquote.org/hspwiki/HSP3%a6%c2%a4%ce%c9%d4%b6%f1%b9%e7%a4%ca%a4%c9
[1327] HSPrc1のヘルプ(標準命令)修正案等 投稿者:ぷま 投稿日:05/07/22(金) 19:14 <URL>
おにたまさん>
HSP3rc1のヘルプ(標準命令のみ)の誤り等を 書き出してみました。
できれば 修正して頂きたく。修正し済みのもの必要であれば upしますが、
----
● await
全体が 2.61の説明になっています。
>await p1,p2
p2不要。
● exec
>たとえば、モード2とモード1を同時に指定する場合は、それぞれの値を加算して3になります。
>この場合は、「最小化モードでタスク実行待ち」になります。
>※HSP2.61までサポートされていたモード1(タスク実行待ち)は、HSP3.0ではサポートしていません。
例が悪い。
「最小化モードでタスク実行待ち」のモードは説明から削除されてなくなっているので。
>HSPのウィンドウにフォーカスが戻るのを監視するか、 pipeexec命令をご使用ください。
とりあえず ココ 全削除。
HSPのウィンドウにフォーカスが戻るのを監視しても無駄です。自動でタスクが
戻ってこないのが問題なのですし、pipeexec命令で うまくいくことは ほとんどないので。
● for , axobj
>for val,p1,p2,p3
なぜ for p1,p2,p3,p4 にしないの?
● until , while
>初心者の方には、repeat〜loop命令か、if命令による繰り返し記述を推奨します。
初心者の方には、repeat〜loop命令か、goto命令による繰り返し処理を推奨します。
● bgscr
>ウインドゥIDを初期化
枠のないウインドゥを作成します
>p4=0〜1: 初期化する画面モード
p4=0〜2: 初期化する画面モード
>このウインドゥ、スクリーンセーバー作成などの特殊な用途で使用されます。
このウインドゥは、スクリーンセーバー作成などの特殊な用途で使用されます。
↑"は"追加
>通常のアプリケーションの画面としても使用できますが用途が限られます。
削除。 枠が無いだけで用途は限られないので。。。
● bmpsave
以下説明等が必要。
ウインドゥが フルカラーモードの場合は 24ビットBMPとして、
ウインドゥがパレットモード時は 8ビット(256色)BMPとして保存されます。
● buffer
>ウインドゥIDを初期化
仮想画面を作成します
● cls
>cls命令で画面をクリアすると、 画面にあるボタンや入力ボックスなどのオブジェクト類、
>設定されているパレットなどすべてが初期状態に戻ります。
など すべてが (スペース追加)
パレットは初期化されていません。↓
screen 0,,,1
repeat 256
palette cnt,cnt,cnt,255
loop
cls;バグ? 2.61はパレットが初期化されます
color 128,128,255 :boxf
● dialog
>2 : 標準メッセージボックス + [YES][NO]ボタン
>3 : 警告メッセージボックス + [YES][NO]ボタン
2 : 標準メッセージボックス + [はい][いいえ]ボタン
3 : 警告メッセージボックス + [はい][いいえ]ボタン
>この時、変数statの内容は、
> 1 :「OK」ボタンが押された
> 6 :「YES」ボタンが押された
> 7 :「NO」ボタンが押された
この時、変数statの内容は、
1 :「OK」ボタンが押された
6 :「はい」ボタンが押された
7 :「いいえ」ボタンが押された
● font
アンチエイリアスのバグ(Windows9Xでは効かない。XPでは効きっぱなし)をなおすか
または 動作に合わせて内容を修正する必要あり。
● gcopy
>コピーする2つのウインドゥのパレットを共通にするか、
>またはコピー元の画像が使っているパレットカラーと同じものが、
>コピー先にも存在しなければ正しくない色でコピーされおかしな画像になってしまいます。
palcopyが無くなって 自動コピーになった説明に変更。
● gmode
>p1=0〜6(0) : 画面コピーモード
p1=0〜7(0) : 画面コピーモード
>・モード0 = 通常のコピー(bitblt)
(bitblt) の意味が分からない。
↓こうすればヨイ。
WindowsのシステムAPI(BitBlt関数)を使った画像コピーを行ないます。
>・モード1 = メモリ間コピー
>画像バッファ間のメモリコピーを行ないます。
画像バッファ間のメモリコピーを行ないます。
動作は モード0と同じですが、非常に小さいサイズ(16*16ドット以下等)のコピーを
行った際 モード0よりも 若干 高速になる場合があります。
・・・とか なんとか。
もうちょっと 初めて見る人が理解しやすい説明をする。(モード1の存在意義)
>また、モード0以外でコピーを行なう場合には、 コピー元やコピー先の画面初期化Xサイズ(横サイズ)が
>4の倍数になるように注意してください。
>HSPでは、高速化のためXサイズが 4の倍数でないコピーをサポートしていません。
>Xサイズが4の倍数でない場合にモード0以外でコピーを行なうとは画像が斜めに崩れるなどの不具合が
>起こることがあります。
↑削除
>パレットモード時には、palcolor命令で指定したパレットコードで塗りつぶしが行なわれます。また、パレットモード時には半透明処理は実行されません。
パレットモード時には 指定した描画色で塗りつぶしが行なわれますが、半透明処理は行われません。
(↑palcolor命令だけでないので)
● gsel
>グラフィック操作先指定
分かり辛い。(FAQの素)
↓このようにしたらいいのでは?
描画先指定 /ウィンドゥを最前面 /ウィンドゥを隠す
>p2=0〜1(0) : ウインドゥアクティブスイッチ
p2=-1〜2(0) : ウインドゥアクティブスイッチ
● gsquare
>パレットモード時は、p1で指定した値-1をパレットコードとして塗りつぶしを行ないます。
>(-1〜-256がパレットコード0〜255に対応します)
ならないようですが?(?__?)バグ?
● gzoom
>p8に1を指定した場合には、 拡大縮小時にハーフトーンを使用した高品質な画像を生成します。
Windows9Xで動かないのをなおすか、または (Windows2000以降) を追加。
●
>p1,p2 : 点1の画面上のX,Y座標
>p3,p4 : 点2の画面上のX,Y座標
p1,p2 : ラインの終点 X,Y座標
p3,p4 : ラインの始点 X,Y座標
こっちの方が なにかと いいかと。(^^;
● mesprint
>font命令で選択することができます。
font命令で指定することができます。
● palcolor
色が付かないので初心者さんには意味不明です。
palette命令の説明をするか、または 色の付く標準パレット↓を用意するか、どっちかにすべきでは?
HSPラウンジ「HSP3でのpalcopyの代替命令は?」
http://dream.freespace.jp/perl-bin/puma/lng/joyful.cgi?print+log4/05050005.txt
● palette
>p5が0か省略されている時は、パレットに値を設定しますが、 すぐには画面上に反映されません。
>p5が1の時は、設定したパレット全体が画面上にも反映されます。
>画面上に反映されるまでには時間がかかるため、パレットをまとめて更新する場合には、一番最後に更新スイッチを1にするようにしてください。
説明通りの動作にはなっていません。
screen 0,,,1
palcolor 173:boxf
palette 173,255,0,0,0
redraw
● picload
>picload命令は、HSPのメイン画面、及びscreen、buffer、 bgscr命令で初期化された画面に対して実行することができます。
"HSPのメイン画面、及び" を削除
● redraw
>描画モード0 (2) :
0は0と書くべきではない?
redrawのモードは 0と1 だけにしてしまっては?
ヘンな説明をする人がいて 初心者さんが こんがらがるので。
● screen
>ウインドゥIDを初期化
新しいウインドゥを作成
● winobj
>"Class" : ウインドゥクラス名
>"Title" : ウィンドウ名
ウインドゥ と ウィンドウの文言の統一。
MicroSoftは ウィンドウ派
● cnvstow
>cnvstow p1,"文字列"
他は"strings"という文言。できるだけ統一を。
● noteadd
>p3=0〜1(0) : 追加・上書きモード指定
p3=0〜1(0) : 上書きモード指定(追加0 上書き1)
● noteget
>メモリノートパッド内の、p1で指定したインデックスの内容をp1で指定された変数に代入します。
メモリノートパッド内の、p2で指定したインデックスの内容をp1で指定された変数に代入します。
p1 ⇒ p2
● noteload
>指定を省略または0にした場合は、どんなサイズでも読み込みます。
指定を省略または0にした場合は、ファイルサイズ分 読み込みます。
● notesave
>notesave命令は、指定バッファの文字列の長さを調べ、それに応じたサイズでテキストファイルとして保存します。
notesave命令は、指定バッファの文字列の長さで保存します。
● noteinfo
マクロ名が notemax(hsp261cmp.asと重複)
● clrobj
>指定するオブジェクトIDは、 title命令のオプションなどで指定するIDと同じものです。
指定するオブジェクトIDは、 objprm命令のオプションなどで指定するIDと同じものです。
title命令 ⇒ objprm命令(一般的でないので)
● input
>p4=0〜 : 入力できる最大文字数
p4=1〜 : 入力できる最大文字数
p4を省略 または0を指定したた場合には、・・・の動作(mesboxと同じ動作)にするか または
p4が0の場合は、そのバージョンのWindowsで扱える最大文字数になります。と書く
>p4が省略された場合には、p1で指定された変数に格納できる最大文字数が自動的に割り当てられます。
そのような動作はしていません。(バグ?)
sdim a,4
input a,600,32
repeat
wait 4
title ""+a;2.61では3文字に制限されます
loop
● listbox
>メモリノートパッド命令で作成したデータをそのままcombox命令にも使用できます。
メモリノートパッド命令で作成したデータをそのままlistbox命令にも使用できます。
combox命令 ⇒ listbox命令
● mesbox
>p5が0の場合は、そのバージョンのWindowsで扱える最大文字数になります。
inputは そうなりますが、mesboxは そのような動作はしていません。(バグ?)
a=""
mesbox a,500,300,1
↓こうすべき?
p5が省略 または0を指定した場合には、p1で指定された変数に格納できる最大文字数が自動的に割り当てられます。
● objmode
p2のモードが正常動作していません。
>button,input,mesbox などのオブジェクト配置命令で
button,input,mesbox などのオブジェクト制御命令で
>これにより、以降のオブジェクト配置命令実行時のスタイル設定が変わります。
オブジェクト配置命令 ⇒ オブジェクト制御命令
>(ver2.61からmesbox命令の枠線はデフォルトで無効になっています。 ver2.61以前のオブジェクトスタイルと互換にする場合は、 このモードを指定してください。)
削除。
HSP3で 過去の話は しなくていい。
● objsel
>入力フォーカスを合わせることにより、 mesbox命令やinput命令で配置した
>入力ボックスの中に入力カーソル(キャレット)を出すことができます。
>この命令は、複数の入力ボックスで任意の場所に入力フォーカスを合わせたい場合や、
>次の入力ボックスにキー入力などで移動するような処理を行なうためのものです。
p1で指定したオブジェクトに フォーカスを合わせることにより、
mesboxやlistboxなどのオブジェクトを操作することができます。
● objsize
>p1=64〜(64) : オブジェクトのX方向のサイズ(ドット単位)
>p2=8〜(24) : オブジェクトのY方向のサイズ(ドット単位)
p1=0〜(64) : オブジェクトのX方向のサイズ(ドット単位)
p2=0〜(24) : オブジェクトのY方向のサイズ(ドット単位)
● alloc
>p2=64〜 : バッファのサイズ(Byte単位)
p2=1〜(64) : バッファのサイズ(Byte単位)
● lpoke
>p3=0〜255 : バッファに書き込む値 または 文字列(Byte単位)
p3=32bit値(0) : バッファに書き込む32bit値
文字列は指定できません。(バグ??)
● memexpand
>通常、メモリ領域の確保はシステムが自動的に行なっていますが、
通常は 不適当な表現では?自動確保は一部でしか行われていないので。pokeとか
>メモリ確保量を変更することが可能な型(HSPVAR_SUPPORT_FLEXSTORAGE)である必要があります。
(HSPVAR_SUPPORT_FLEXSTORAGE)は削除
● memset
>p1 : 書き込み先の変数
>p2 : クリアする値(1byte)
>p3 : クリアするサイズ(1byte単位)
>p4 : 書き込み先の変数メモリオフセット(省略時=0)
これに限らず できれば 今後 いろんな書式で書くのは やめて 一貫性のあるものにしてもらいたいものです。。。
例)
p1=変数 : 書き込み先の変数
p2=0〜255(0) : クリアする値
p3=0〜 : クリアするサイズ(Byte単位)
p4=0〜(0) : 書き込み先の変数メモリオフセット
● poke
>p3に文字列を指定した場合には、文字列データをメモリに展開します。
p3に文字列を指定した場合には、文字列データをメモリに展開し、
strsizeに、書き込まれた文字列の長さを返します。
● sdim
>多次元配列の場合は、文字数とは別に3次元まで確保することが可能です。
4次元になっているのでは?
sdim a,10,10,10,10,10
a.1.1.1.1="aaa"
mes a.1.1.1.1
● setmod
>setmod命令は、newmod命令と同様に初期化ルーチン(コンストラクタ)が定義
初期化ルーチン(コンストラクタ)が意味不明
● wpoke
>p3=0〜255 : バッファに書き込む値 または 文字列(Byte単位)
p3=0〜65535 : バッファに書き込む数値
● lpeek
>p1で指定した変数が数値型ならば、0〜$ffffffffまでの値が返されます。
削除。
数値型でなくても返されるので。
● peek
>p1で指定した変数が数値型ならば、0〜255までの値が返されます。
削除。
数値型でなくても返されるので。
または 文字列も対応するか。
● wpeek
>p1で指定した変数が数値型ならば、0〜65535までの値が返されます。
削除。
数値型でなくても返されるので。
● bload
>p2=64〜 : ロードされるサイズ(Byte単位)
p2=0〜(-1) : ロードされるサイズ(Byte単位)
>通常は、sdim命令で確保したメモリバッファに対して使用しますが、
>通常の変数や、配列変数の内容に対して使うこともできます。
通常は、sdim命令で確保したメモリバッファに対して使用しますが、
配列変数に対して使うこともできます。
● bsave
>p2=64〜 : セーブするサイズ(Byte単位)
p2=1〜 : セーブするサイズ(Byte単位)
※ 0〜 であれば尚ヨイ。
>通常は、sdim命令で確保したメモリバッファに対して使用しますが、
>通常の変数や、配列変数の内容に対して使うこともできます。
通常は、sdim命令で確保したメモリバッファに対して使用しますが、
配列変数に対して使うこともできます。
>p3=0〜(-1) : ファイルのオフセット
仕様が おかしい。p3=0〜(0)にすべき。0を指定するとファイルが無い時エラーになるので。
fn="test.txt"
sdim a,1000
a="今日は いい天気だ(^-^)"
bsave fn,a,strlen(a),0
exec fn,16
>(この場合は、それオフセットより前のファイル内容は変化しません)
(この場合は、オフセットより前のファイル内容は変化しません)
>テキストファイルを保存する場合には、専用のnotesave命令を使用するようにしてください。
テキストファイルを保存する場合には、専用のnotesave命令を使用することを推奨します。
bsaveでやるとダメなような書き方になっているので。
● chdir
>書式が間違っている場合はFile I/O errorとなります。
書式が間違っている場合はError12(File I/O error)となります。
※File I/O errorの説明が どこにもでてこないので。delete mkdirも同様。
● delete
>指定したファイルが存在しないか、書式が間違っている場合はFile I/O error となります。
指定したファイルが存在しないか、書式が間違っている場合はFile I/O error となります。
delete命令を実行する前に exist命令でファイルの有無を確認するようにしてください。
例)
fn="readme.txt"
exist fn
if strsize!-1:delete fn
・参照
exist
※こういう 必ず回避する必要のある処理は HSP内部で行うべきでは?
● dirlist
>("filemask"にDOSのファイル名またはディレクトリ名を指定すると、長いファイル名・ディレクトリ名に変換することができます。)
削除。
※ できないことはないが 正常動作させるには とんでもなく面倒。とうてい 初心者さんの成せるワザではない。
● memfile
>ただし、picload命令やsndload命令など拡張子をファイル種別として判断している場合には、ダミーのファイル名 (「MEM:a.jpg」など)を指定するようにしてください。
削除。
picload命令でしか使えないので。sndload命令というのは通常無い。
● mkdir
>ディレクトリは1階層先までしか作成することができません。
ディレクトリは1階層先までしか作成することができません。
また 既に存在するフォルダを作成しようとするとError12(File I/O error)になります。
mkdir命令を実行する前に 必ずdirlist命令でフォルダの有無を確認するようにしてください。
・参照
dirlist
chdir
※こういう 必ず回避する必要のある処理は HSP内部で行うべきでは?
● getkey
追加しては?↓
以下のスクリプトで 上記以外のキーコードも取得することができます。
title "キー入力してください(^^)v"
onkey *inkey
onclick *inkey
stop
*inkey
if lparam>>30:stop
mes iparam
stop
● mouse
>p1または、p2が-1の場合は、 マウスカーソルの表示をOFFにします。
p1または、p2が-1の場合は、 HSPウインドゥ上でのマウスカーソルの表示をOFFにします。
● atan
>また、p2が0の場合は0が返されます。
削除
0.5PI(90度)が返ります。
● length2、length3、length4
>length1参照
命令名誤り length です。
● limit
>p1=0〜 : 対象となる値
>p2=0〜 : 最小値
>p3=0〜 : 最大値
0〜ではないので(マイナス値も可)
p1 : 対象となる値
p2 : 最小値
p3 : 最大値
repeat 20
mes ""+-cnt+" "+limit (-cnt,-10,-3)
loop
● rnd
>p1=1〜32767 : 乱数の範囲
p1=1〜32768 : 乱数の範囲
↓
randomize
repeat $7fff *10
if rnd.32768=32767:mes cnt
loop
● comevdisp
>ver3.0標準命令
ver3.0標準関数
● #cmd
>HSP拡張プラグインのために
#cfunc等では 外部DLLという文言になっている。
● #const
>計算式は、整数のみで演算子および数値の記述スタイルは、HSPと同様のものが使えます。
HSPなのに "HSPと同様" は おかしい。
● #defcfunc
>戻り値の型名 新規関数の名前 パラメータータイプ1 エイリアス名1,…
↑ゴミです。
● #func
>ダブルクォートで囲んでいない場合は、「_関数名@16」というVC++のエクスポート規約に基づいた名前に変換されます。
意味不明?
ダブルクォートで囲んでいない場合は エラーでは?
>(*)がついている項目は、 引数として指定する必要なく自動的に渡されるパラメーターを示しています。
(*)がついている項目が無い?
他 見直し要。
● #modfunc
>#modfunc 新規命令の名前 パラメータータイプ1 エイリアス名1,…
#deffunc p1 p2 p3,… と同じ書式に統一すべき。
いろんな書式で書かれると混乱するので。
● #modinit #modterm
>p1〜 : バラメータタイプ名・エイリアス名
同上。p1なんて無いので。
● #module
>モジュール名は、18文字以内の長さで
エラーが 21文字まで出ません。
● sarrayconv
>p3 が 0 のとき:
読み辛い。他の命令の書き方に統一してもらいたい。↓
p3のモードは以下の通りです。
^p
p3 内容
---------------------------------------------
0 :配列変数 p2 全体から SafeArray を作成し、p1 の Variant 型変数に格納します。
1 :p2 で指定された Variant 型変数に格納されている SafeArray を配列変数 p1 に格納します。p1 の領域は再確保されます。
2 :p2 で指定された Variant 型変数に格納されている1次元 SafeArray のバイナリデータを変数 p1 に格納します。
^p
等。
---他
● ^p が閉じられていない
hspdx.hses_get
hspdx.hses_flag
● HSファイル おかしい。
hsファイルが 文字列の終了コード0で 終わっていないものがある。
(β11時 編集したファイル)
[1339] Re: HSPrc1のヘルプ(標準命令)修正案等 投稿者:USK 投稿日:05/07/23(土) 13:21 <URL>
> ● #const
> >計算式は、整数のみで演算子および数値の記述スタイルは、HSPと同様のものが使えます。
>
> HSPなのに "HSPと同様" は おかしい。
「通常の式」ぐらいが適当でしょうか?
でも、あえて言及しない方がより良いと思います。
書かなくても問題はありませんし、
変な形でプリプロセス文を意識させる事になりますから。
# 意識させるなら、もっと適切な形で。
ところで、場所をどこか移した方が良くないですか?
あまりにも量が多いので、ここではやりづらいかと。
ログの流れも速くなっちゃいますし…
議論はそちらでやって、まとめだけこちらに持ってくるとか。
[1332] Re: HSPrc1のヘルプ(標準命令)修正案等 投稿者:Irisawa 投稿日:05/07/22(金) 20:44
> ● memfile
> >ただし、picload命令やsndload命令など拡張子をファイル種別として判断している場合には、ダミーのファイル名 (「MEM:a.jpg」など)を指定するようにしてください。
> 削除。
> picload命令でしか使えないので。sndload命令というのは通常無い。
packfileなどに格納したファイルをbload命令などで読み込んでその
メモリをmemfileにて割り当て保存すればどんなファイル形式でも使用
できます。
> ● #const
> >計算式は、整数のみで演算子および数値の記述スタイルは、HSP
> と同様のものが使えます。
> HSPなのに "HSPと同様" は おかしい。
いや、置き換えの式にHSPと同様の式を記述できると云うことでしょう。
何もおかしくありませんよ。
> ● #defcfunc
> >戻り値の型名 新規関数の名前 パラメータータイプ1 エイリアス名1,…
> ↑ゴミです。
いずれ、実装する予定だったのが実装されていないだけでは?
他にもいろいろ指摘ありますがなんか面倒というか長すぎてぼくも
分からなくなってきたのでこの辺りでやめます。
指摘が間違えている可能性も...。
[1330] Re: HSPrc1のヘルプ(標準命令)修正案等 投稿者:Irisawa 投稿日:05/07/22(金) 20:32
> ● for , axobj
> >for val,p1,p2,p3
> なぜ for p1,p2,p3,p4 にしないの?
いや、第一引数は数値ではなくて変数なのでこれでいいと思います。
> ● until , while
> >初心者の方には、repeat〜loop命令か、if命令による繰り返し記述を
> 推奨します。
> 初心者の方には、repeat〜loop命令か、goto命令による繰り返し
> 処理を推奨します。
これは、微妙ですが条件判断ですのでifでいいのでは?
(ifで条件判断してgotoでとばすということですが)
> ● alloc
> >p2=64〜 : バッファのサイズ(Byte単位)
> p2=1〜(64) : バッファのサイズ(Byte単位)
いえ、64〜ですよ。
64byte以下にできません。
> ● memexpand
> >通常、メモリ領域の確保はシステムが自動的に行なっていますが、
> 通常は 不適当な表現では?自動確保は一部でしか行われていない
> ので。pokeとか
えっと、自動確保は変数代入の時に自動で行われます。
poke系やmemset,memcpyなどの命令でメモリに直接書き込むのは
変数のサイズを(ポインタとしてみる場合に)検出できないためです。
通常というのは変数代入時の動作のことを云っているのでこれでいい
はずです。
ちょっと、長すぎるので指摘はここまでに...。
[1334] Re^2: HSPrc1のヘルプ(標準命令)修正案等 投稿者:sprocket 投稿日:05/07/22(金) 21:22 <URL>
> ぷまさん
ヘルプに関する指摘、お疲れ様です。
HSP では、hs ヘルプが唯一の命令個別の仕様書的なものとなって
いますので、ヘルプの整備は重要課題だと思います。
> Irisawa さん
> > ● for , axobj
> > なぜ for p1,p2,p3,p4 にしないの?
> いや、第一引数は数値ではなくて変数なのでこれでいいと思います。
memcpy 等参照。
p というのはなにも数値に限りません。一般的な parameter という
意味でしょう。
(ついでに言うと、変数なら val ではなく var です。)
> > ● until , while
> > 初心者の方には、repeat〜loop命令か、goto命令による繰り返し
> > 処理を推奨します。
> これは、微妙ですが条件判断ですのでifでいいのでは?
明らかに goto が適切です。
repeat, loop と goto はあるスクリプト領域の繰り返し命令と
なり得ますが、if はそうではありません。
[1329] Re: HSPrc1のヘルプ(標準命令)修正案等 投稿者:hiromasa 投稿日:05/07/22(金) 20:21
> ● until , while
> >初心者の方には、repeat〜loop命令か、if命令による繰り返し記述を推奨します。
> 初心者の方には、repeat〜loop命令か、goto命令による繰り返し処理を推奨します。
if命令であっているのではないでしょうか?
条件が満たされるまでですので、
それを、if命令によって再現するということで。
それにgoto命令で抜けると、ネストの問題がおきます。
[1331] Re^2: HSPrc1のヘルプ(標準命令)修正案等 投稿者:chrono 投稿日:05/07/22(金) 20:44
> > ● until , while
> > >初心者の方には、repeat〜loop命令か、if命令による繰り
返し記述を推奨します。
> > 初心者の方には、repeat〜loop命令か、goto命令による繰り返
し処理を推奨します。
>
> if命令であっているのではないでしょうか?
> 条件が満たされるまでですので、
> それを、if命令によって再現するということで。
>
> それにgoto命令で抜けると、ネストの問題がおきます。
ぷまさんが書いているのは「goto命令とラベルによる繰り返し処理」とい
う意味だと思いますよ。「repeat〜loop命令と」ではなく「repeat〜loop命
令か」なので。
[1336] Re^3: HSPrc1のヘルプ(標準命令)修正案等 投稿者:chrono 投稿日:05/07/23(土) 08:36
> ぷまさんが書いているのは「goto命令とラベルによる繰り返し処理」とい
> う意味だと思いますよ
↑説明になってないですね。すみません。
該当箇所はループの「作り方」の話だと思うので修正した方がいいと思います。
[1359] Re^4: HSPrc1のヘルプ(標準命令)修正案等 投稿者:くに 投稿日:05/07/25(月) 16:51 <URL>
たくさんあるので、Wikiに臨時でおかせてもらいました。
この方が編集はしやすいでしょうし。
HSP3βの不具合など
http://quasiquote.org/hspwiki/HSP3%a6%c2%a4%ce%c9%d4%b6%f1%b9%e7%a4%ca%a4%c9
[1349] スクリプトエディタ バグ? 投稿者:Kazu 投稿日:05/07/24(日) 00:40
新スクリプトエディタでのマウス操作で、右クリックからのコピー、切り取り、削除が出来ないのですが・・・。
メインメニューからや、ショートカットキーを使った編集はできます。
[1358] Re: スクリプトエディタ バグ? 投稿者:Irisawa 投稿日:05/07/25(月) 12:59
> 新スクリプトエディタでのマウス操作で、右クリックからのコピー、
> 切り取り、削除が出来ないのですが・・・。
> メインメニューからや、ショートカットキーを使った編集はできます。
HSP3.0β11から同梱のスクリプトエディタの不具合です。
HSP Dev-MLでは既に報告してありましたが今のところ修正されていません。
ソースコードを調べてみたところコンテキストメニューがポップアップした
ときに初期化を忘れているようです。
恐らく、Footyコントロールの仕様変更時の修正漏れのような気がします。
[1354] Re: スクリプトエディタ バグ? 投稿者:nanasi 投稿日:05/07/24(日) 16:53
同じく
[1355] Re^2: スクリプトエディタ バグ? 投稿者:911 投稿日:05/07/24(日) 18:19
> 同じく
私もです。
起動直後は可能ですが、なんらかの作業後に起きるみたいです。
[1342] if - else の書式について 投稿者:Shark++ 投稿日:05/07/23(土) 19:33
おちっこさんのスクリプトを実行しようとしてエラーが出て気がついたのですが
3.0RC1ではList 1の書き方をすると
error 4 : パラメーター式の記述が無効です (4行目)
--> else@hsp if@hsp 1 {
とでます。
2.61では出ませんでした。
また、List 2 の方は 2.61 でも
--> else命令の位置が不正です
と表示され実行できませんでした
これは、バグなんでしょうか?それとも仕様なんでしょうか?
少なくとも、2.61では実行できるのでList 1 が実行できないのはバグではないかと思います
- List 1 ----------
if 0 {
dialog "1"
}
else if 1 {
dialog "2"
}
-------------------
- List 2 ----------
if 0 {
dialog "1"
}
else if 1 {
dialog "2"
}
else {
dialog "3"
}
-------------------
[1343] Re: if - else の書式について 投稿者:DoubleQuote 投稿日:05/07/23(土) 20:41
ifの書式に関して、以前、この掲示板でも取り扱われた事もあった
のですが、elseの前に:を置く記述方法をすると2.61では動作した
のですが、3.0RC1では動作しません。これも互換性を考えると
どちらでも動作したほうが良いのではと思います。
;2.61ではOK、3.0RC1ではNGな例文
a = 5
if ( a == 5 ) : {
dialog "True"
} : else : {
dialog "Flase"
}
[1351] Re^2: if - else の書式について 投稿者:USK 投稿日:05/07/24(日) 08:35 <URL>
>Shark++さん
elseとifの間にはコロンが必要ですよ。
# これって正式にOKになったんでしたっけ?
# if-elseも曖昧なところが残ってるのかも。
>DoubleQuoteさん
{...}がif-else以外でも使えるようになったら別ですが、
今のところ正しくない文法なので、そこまで対応する必要はないと思います。
逆に、ifの所でエラーが起きない方がよろしくない感じがします。
[1353] Re^3: if - else の書式について 投稿者:DoubleQuote 投稿日:05/07/24(日) 16:39
了解しました
[1352] Re^3: if - else の書式について 投稿者:Shark++ 投稿日:05/07/24(日) 14:42
> >Shark++さん
> elseとifの間にはコロンが必要ですよ。
> # これって正式にOKになったんでしたっけ?
> # if-elseも曖昧なところが残ってるのかも。
あ、本当ですね
コロン入れたらエラーが出なくなりました
でも、ヘルプに
if 0 {
dialog "1"
}
else : if 0 {
dialog "2"
}
else {
dialog "3"
}
のようなサンプルをいれて欲しいなと思ったり
結局、今回のは2.61の文法解釈があいまいだったと言う事ですかね
[1344] hspinet.dllへの要望 投稿者:tks 投稿日:05/07/23(土) 21:35
GET /index.html HTTP/1.1
Host:www.onionsoft.net
ではなく、
GET / HTTP/1.1
Host:www.onionsoft.net
のように、ルートのファイル(?)をダウンロード
できるようにならないでしょうか? 例えば
netrequest ""
のように空白を入れるとか。
それとnetnetdlname命令は実装されているのでしょうか?
エラー38が出てしまうのですが。使い方がわかりません。
[1345] Re: hspinet.dllへの要望 投稿者:Shark++ 投稿日:05/07/23(土) 22:18
調べたら、
netnetdlname ではなく netdlname が本来の名前ですね
ヘルプとhspinet.asが間違っているようです
とあえず、hspinet.as の
#func netnetdlname netnetdlname 6
を
#func netdlname netdlname 6
と直して、netdlname を使うと動きます
あと、netdlname を使わないと netrequest や netload で "" は指定できないと思います
netdlname を使い保存先のファイル名を指定すると "" で実行しても問題は発生しません
が、netdlname "" として解除しないと毎回同じファイルに上書き保存されてしまうようです
[1347] Re^2: hspinet.dllへの要望 投稿者:tks 投稿日:05/07/24(日) 00:18
早速の調査、ありがとうございました。
> netnetdlname ではなく netdlname が本来の名前ですね
netが2つ続く変な名前だとは思っていたんです。
> あと、netdlname を使わないと netrequest や netload で "" は
> 指定できないと思います
その点は理解しております。もともとhspsock.dllでやっていたこと
なので。hspinet.dllでも可能なことがわかり、助かりました。
どうもありがとうございました。
[1335] HSP3 RC1 サンプル内のミス 投稿者:Kpan 投稿日:05/07/22(金) 23:35 <URL>
HSP3の開発ご苦労様です。m(_ _)m
サンプルをテキトーにチェックしてみてミスと思われる部分を。
basic\htcopy1.hsp
basic\htcopy2.hsp
>「hsp3ttl.jpg」ファイルを同じディレクトリに用意〜
と書いてあるけれど、すでに指定されてるので用意不要
basic\memnote.hsp
noteload命令のファイルが用意されてない
basic\modtest1.hsp
basic\modtest2.hsp
basic\note1.hsp
ssaver\arusave.hsp
コメントやスクリプト内の拡張子 〜.as になっているものを 〜.hsp に
basic\note2.hsp
hspext\ftime.hsp
hspext\folder.hsp
alloc命令 を sdim命令に
hspext\emath.hsp
hspext\emath2.hsp
hspext\terminal.hsp
hspsock\daytime.hsp
> for HSP2.4d
昔の名残あり (^^
[1321] 文字列置換関数を作成中失敗 投稿者:まっつん 投稿日:05/07/22(金) 16:57
HSP3で文字列置換関数を作成中、
探し出す文字列が\n(改行)の時、きちんと認識されません。
instrを使って認識しているのですが、instrでは、改行
コードはきちんと認識しないのですか?
/**************************************************************************
STRREP(// 文字列置換関数
p1,// 元の文字列
p2,// 探し出す文字列
p3// 置き換える文字列
)
**************************************************************************/
#module
#defcfunc strrep str _buf,str a,str b
buf = _buf
la = strlen(a)
lb = strlen(b)
sa = lb-la
sdim buf2
if ( instr(buf,i,a) == -1 ) : return buf
repeat
id = instr(buf,i,a)
if ( id == -1 ) && ( cnt == 0 ) : memcpy buf2,buf,strlen(buf) : break
if ( id == -1 ) : memcpy buf2,buf,l-i+1,i2,i : break
memcpy buf2,buf,id,i2,i:i2+id
poke buf2,i2,b:i2+lb:i+id+la
loop
return buf2
#global
dialog strrep("ちかん\nまえ\\abc","\n"," ")
end
[1322] Re: 文字列置換関数を作成中失敗 投稿者:Irisawa 投稿日:05/07/22(金) 17:45
> HSP3で文字列置換関数を作成中、
> 探し出す文字列が\n(改行)の時、きちんと認識されません。
> instrを使って認識しているのですが、instrでは、改行
> コードはきちんと認識しないのですか?
文字列置き換えならCOM経由の正規表現を使用した方がいいと思います。
RC1ではサンプルがありますのでそれを参考にしてください。
なお、HSP(Win)では改行コードは1byteではなく0x0d0x0aと2byteに
なっていることが原因だと思います。
[1323] Re^2: 文字列置換関数を作成中失敗 投稿者:ぷま 投稿日:05/07/22(金) 18:40 <URL>
>文字列が\n(改行)の時、きちんと認識されません。
lの変数が0になっているからです。
l=strlen(buf)
あちこちで質問するのは やめてください。
[1328] Re^3: 文字列置換関数を作成中失敗 投稿者:まっつん 投稿日:05/07/22(金) 19:15
l=strlen(buf)
これだったんですね。!!
親切にありがとうございました
[1318] 文字列を整数に変換 投稿者:猫太 投稿日:05/07/22(金) 14:53
文字列を整数に変換が出来ないんですけど、どうすれば変換できますか??
a="777"
int(a)
ってやってもエラーが出ます。
おねがいいたしますm(_ _)m
[1319] Re: 文字列を整数に変換 投稿者:HaGU 投稿日:05/07/22(金) 14:58
> a="777"
> int(a)
int(*)は関数です。
なので、この場合は、
a="777"
b=int(a)
としなければなりません。
[1320] Re^2: 文字列を整数に変換 投稿者:猫太 投稿日:05/07/22(金) 15:30
> int(*)は関数です。
> なので、この場合は、
> a="777"
> b=int(a)
> としなければなりません。
ありがとうございましたm(_ _)m
[1249] 要望 投稿者:レヴィン 投稿日:05/07/15(金) 16:18
どうも、こんにちは。レヴィンです
ここに書くのは初めてだったかなぁ…?
すいません。忘れました(HSP関連の掲示板には書いたこと
があるんですが)。
早速なんですが、DirectXを使ったプラグインの使い方に戸
惑ってます。そこで思ったんですが、(DirectXがインストール
されている状態で)標準の命令にdを付けるだけでDirect Draw
になる仕様を追加していただけると助かります。
例えば
dgcopy …
といった感じです。
あと、標準でGIF対応するみたいなんですが、PNGにも対応し
てただけると非常に助かります。
前者かなり無理があると思うんで後者だけでも実現していた
だけると助かります。
よろしくお願いします。
[1317] Re: 要望 投稿者:Irisawa 投稿日:05/07/22(金) 10:53
> 早速なんですが、DirectXを使ったプラグインの使い方に戸
> 惑ってます。そこで思ったんですが、(DirectXがインストール
> されている状態で)標準の命令にdを付けるだけでDirect Draw
> になる仕様を追加していただけると助かります。
> 例えば
> dgcopy …
> といった感じです。
これは、過去との互換性の問題などいろいろ考慮する部分が多すぎますし
自動でできるものではないので、すべて新規命令として組み込む必要があり
ます。
必要な人は各自自分で#defineするなりユーザー定義命令などで作るなり
した方がいいと思います。
> あと、標準でGIF対応するみたいなんですが、PNGにも対応し
> てただけると非常に助かります。
GIFに対応するのは(LZWの)特許が切れたためです。
PNG対応についてはHSP-Dev MLでも以前に話題になっていましたがPNGの
ライブラリを組み込むととてつもなくランタイムが肥大化するらしく
ライブラリを使用せずにPNG展開をできる方法を調べているそうです。
[1252] Re: 要望 投稿者:さくら 投稿日:05/07/16(土) 00:28
> どうも、こんにちは。レヴィンです
(途中省略)
> あと、標準でGIF対応するみたいなんですが、PNGにも対応し
> てただけると非常に助かります。
標準で利用できれば便利でしょうが、sampleフォルダにある
comtest3.as を利用すれば、PNGの読込み・描画は可能です。
[1246] HSPのタグ 投稿者:二也帆 巧之助 投稿日:05/07/15(金) 12:17
このページのどこか
にすばらしいタグが
すべてのっている一覧表
のようなものは
ないのでしょうか
[1316] Re: HSPのタグ 投稿者:Irisawa 投稿日:05/07/22(金) 10:46
> このページのどこか
> にすばらしいタグが
> すべてのっている一覧表
> のようなものは
> ないのでしょうか
意味が分かりませんのでもう少し詳細に説明してください。
[1251] Re: HSPのタグ 投稿者:DoubleQuote 投稿日:05/07/16(土) 00:17
> このページのどこか
> にすばらしいタグが
> すべてのっている一覧表
> のようなものは
> ないのでしょうか
この掲示板はタグの利用は禁止されているみたいです。
<font color="red">MESSAGE</font>
っとなってしまい、無視されるようです。
[1254] instrの第三パラメータ 投稿者:*_* 投稿日:05/07/16(土) 06:06
instrの第三パラメータには関数は使えないのでしょうか?
[1257] Re: instrの第三パラメータ 投稿者:DoubleQuote 投稿日:05/07/16(土) 14:40
> instrの第三パラメータには関数は使えないのでしょうか?
つかえますよ。
;例
a = "ABCDEFG"
b = "CDE"
dialog instr(a,0,b)
もしかして、HSP2.61の話でしょうか?
[1259] Re^2: instrの第三パラメータ 投稿者:Irisawa 投稿日:05/07/16(土) 18:06
> > instrの第三パラメータには関数は使えないのでしょうか?
> つかえますよ。
> ;例
> a = "ABCDEFG"
> b = "CDE"
> dialog instr(a,0,b)
instr()を使うじゃなくてinstr()の「第3パラメータに関数を使う」
じゃないですか?
例えばstrmid()とか...。
a = "AAABBBCCC"
dialog instr(a, 0, strmid(a, 3, 3))
↓
a = "AAABBBCCC"
b = strmid(a, 3, 3)
dialog instr(a, 0, b)
以前にも話題(No.1179のツリー)になっていましたができないみたい
ですね。
(No.1179はエラーになる、これは結果が0になるという違いがありますが)
[1315] Re^3: instrの第三パラメータ 投稿者:Irisawa 投稿日:05/07/22(金) 10:45
> a = "AAABBBCCC"
> dialog instr(a, 0, strmid(a, 3, 3))
> ↓
> a = "AAABBBCCC"
> b = strmid(a, 3, 3)
> dialog instr(a, 0, b)
これは、最新版で修正されたみたいですね。
[1179] InStrの第一パラメータ 投稿者:DoubleQuote 投稿日:05/07/01(金) 20:52
Instr関数の第一パラメータは変数ではなく文字列にならないのです
か?
a = "AAABBBCCC"
dialog instr(strmid(a,0,3),0,"AAA")
こういう風に使いたいのです。
現在の形だと
a = "AAABBBCCC"
b = strmid(a,0,3)
dialog instr(b,0,"AAA")
としないといけません。面倒です。
もともとのC言語との関係もあって無理でしょうか?
それか、それが出来るようなモジュールを開発する事は可能でしょ
うか?
[1314] Re: InStrの第一パラメータ 投稿者:Irisawa 投稿日:05/07/22(金) 10:44
これは、最新版でも修正されていないみたいですね。
[1180] Re: InStrの第一パラメータ 投稿者:Irisawa 投稿日:05/07/01(金) 22:10
> もともとのC言語との関係もあって無理でしょうか?
> それか、それが出来るようなモジュールを開発する事は可能でしょ
> うか?
β11では、以下のようにすればできますね。
#module
#defcfunc _instr str s1, int p1, str s2, local l1
l1 = s1
return instr(l1, p1, s2)
#global
a = "AAABBBCCC"
dialog _instr(strmid(a, 0, 3), 0, "AAA")
stop
本当に面倒です。
折角の関数実装が生かせないので、変数である必要のないパラメータは
できれば定数を直接指定できるようにして欲しいですね。
また、現状では定数は数値型と文字列型のパラメータは区別されて
しまい、両方渡すには変数に代入してからでないといけませんが
これも、両方渡せるパラメータがあると便利ですよね。
# そういえば数値型のパラメータは省略できますが文字列型の
# パラメータは省略できないようですね。
[1198] Re^2: InStrの第一パラメータ 投稿者:USK 投稿日:05/07/05(火) 22:33 <URL>
> 折角の関数実装が生かせないので、変数である必要のないパラメータは
> できれば定数を直接指定できるようにして欲しいですね。
ユーザで対応できるみたいですが、標準でできた方が良いので
勝手ながらバグトラッキングの方に入れておきました。
> また、現状では定数は数値型と文字列型のパラメータは区別されて
> しまい、両方渡すには変数に代入してからでないといけませんが
> これも、両方渡せるパラメータがあると便利ですよね。
一応、objprmみたいな事は3.0でも出来ますが。
# そういう事ではなく?
[1199] Re^3: InStrの第一パラメータ 投稿者:Irisawa 投稿日:05/07/05(火) 23:27
> 一応、objprmみたいな事は3.0でも出来ますが。
> # そういう事ではなく?
えっと、#funや#cfuncのsptr相当の機能のことです。
現状、#deffuncや#defcfuncでは数値か文字列か変数かくらいしか渡せ
ないので例えば、p1に数値を渡す場合もあれば文字列を渡す場合も
あるというときは、変数に代入してから定義命令/関数に渡す必要が
あります。
さらには、文字列パラメータは絶対に省略できないので両方の
パラメータを別々に用意する
funs p1, s1
のようにして、不要な方を省略するという使い方もできませんし。
まあ、そんなに必要なときがよくあるわけではないので少し面倒でも
変数に代入すればいいだけなのですが。
[1205] Re^4: InStrの第一パラメータ 投稿者:USK 投稿日:05/07/06(水) 19:06 <URL>
> えっと、#funや#cfuncのsptr相当の機能のことです。
あ、モジュールの話ですね。(^^;
# 上に書いてあるモジュールとの関連を全然考えてませんでした。m(_ _)m
いいですね。
さらにいえば、「val」や「variant」なんて風に指定すると
doubleでも何でも受け取れて、あとはvartypeなどでゴニョゴニョ…
って感じだと、さらにおいしそう。
3.1での機能として要望します。
> さらには、文字列パラメータは絶対に省略できないので
は、一応マクロを併用すれば出来ます。
逆に、省略されると勝手に0ってなる方が、
ちょっと気が利きすぎてるのかなぁと。
値なら何でも省略可か、値でも何でも省略不可か、
どちらかに合わせた方が良いと思います。
[1200] Re^4: InStrの第一パラメータ 投稿者:DoubleQuote 投稿日:05/07/06(水) 02:41 <URL>
若干話は変わるのですが、noteget命令も関数にしてみたら便利に
なるかと思い、Wikiのほうに書き込んでおきました。
取得の際に毎回、変数を使うのはどうかと思いますので・・・
[1201] Re^5: InStrの第一パラメータ 投稿者:DoubleQuote 投稿日:05/07/06(水) 11:17
hspda.dll内の命令も#defcfuncで関数化できるのですか?
#include "hspda.as"
#undef rndf_geti
#module
#defcfunc rndf_geti int max
rndf_geti@hsp _rndf_geti,max
return _rndf_geti
#global
/*
repeat 10
rndf_geti a,100
dialog a
loop
*/
dialog rndf_geti(45)
[1182] Re^2: InStrの第一パラメータ 投稿者:DoubleQuote 投稿日:05/07/02(土) 01:44
> > もともとのC言語との関係もあって無理でしょうか?
> > それか、それが出来るようなモジュールを開発する事は可能でしょ
> > うか?
>
> β11では、以下のようにすればできますね。
>
> #module
> #defcfunc _instr str s1, int p1, str s2, local l1
> l1 = s1
> return instr(l1, p1, s2)
> #global
>
> a = "AAABBBCCC"
> dialog _instr(strmid(a, 0, 3), 0, "AAA")
> stop
>
> 本当に面倒です。
> 折角の関数実装が生かせないので、変数である必要のないパラメータは
> できれば定数を直接指定できるようにして欲しいですね。
> また、現状では定数は数値型と文字列型のパラメータは区別されて
> しまい、両方渡すには変数に代入してからでないといけませんが
> これも、両方渡せるパラメータがあると便利ですよね。
Irisawa様、ありがとうございます。
そういえば、最近#defcfuncによって新規関数を登録することが
出来る様になりましたね。忘れてました。
しかし、この場合#undefでinstrを無効にしてinstr関数自体の効果を
書き換えることは出来ませんね。結果出力で使いますので。
> # そういえば数値型のパラメータは省略できますが文字列型の
> # パラメータは省略できないようですね。
例えばFontで、font ,90とするとエラーが出ますが
font "",90とするとOKみたいですね。
[1183] Re^3: InStrの第一パラメータ 投稿者:Irisawa 投稿日:05/07/02(土) 05:56
> しかし、この場合#undefでinstrを無効にしてinstr関数自体の効果を
> 書き換えることは出来ませんね。結果出力で使いますので。
#undef instr
#module
#defcfunc instr str s1, int p1, str s2, local l1
l1 = s1
return instr@hsp(l1, p1, s2)
#global
a = "AAABBBCCC"
dialog instr(strmid(a, 0, 3), 0, "AAA")
stop
で、どうでしょうか。
(たぶんあまり推奨できないと思いますが、一応2.x互換モードでは
これと同様のことをしていますし)
> 例えばFontで、font ,90とするとエラーが出ますが
> font "",90とするとOKみたいですね。
これは、省略している訳じゃないですからね。
Cの関数で云えばNULLを渡しているような感じにしたいということなん
ですけど。
[1187] Re^4: InStrの第一パラメータ 投稿者:DoubleQuote 投稿日:05/07/02(土) 14:20
> > しかし、この場合#undefでinstrを無効にしてinstr関数自体の効果を
> > 書き換えることは出来ませんね。結果出力で使いますので。
>
> #undef instr
> #module
> #defcfunc instr str s1, int p1, str s2, local l1
> l1 = s1
> return instr@hsp(l1, p1, s2)
> #global
>
> a = "AAABBBCCC"
> dialog instr(strmid(a, 0, 3), 0, "AAA")
> stop
>
> で、どうでしょうか。
> (たぶんあまり推奨できないと思いますが、一応2.x互換モードでは
> これと同様のことをしていますし)
@hspをつければOKだったのですね!
丁寧に有難うございました。
>
> > 例えばFontで、font ,90とするとエラーが出ますが
> > font "",90とするとOKみたいですね。
>
> これは、省略している訳じゃないですからね。
> Cの関数で云えばNULLを渡しているような感じにしたいということなん
> ですけど。
(>Д<)ゝ”了解!です
[1188] Re^5: InStrの第一パラメータ 投稿者:DoubleQuote 投稿日:05/07/02(土) 14:23
そういえば
>#defcfunc instr str s1, int p1, str s2, local l1
の、
>local l1
なのですが、
これは別に確保しなくても良いかと思うのですが
[1191] Re^6: InStrの第一パラメータ 投稿者:Irisawa 投稿日:05/07/03(日) 00:53
> >local l1
> なのですが、
> これは別に確保しなくても良いかと思うのですが
別につけなくても構いません。
ただの保険というかローカル変数にしたのは念のためですので。
ローカル変数にすると指定された変数はその呼び出し時にだけ有効で
次に呼び出した際には無効になっています。
#module
#deffunc test local l1
mes "g1 = " + g1
mes "l1 = " + l1
g1 = 1
l1 = 1
return
#global
test
test
stop
[1192] Re^7: InStrの第一パラメータ 投稿者:DoubleQuote 投稿日:05/07/03(日) 01:05
わかりました。
親切に有難うございました
[1313] コンテストにだすEXEについて 投稿者:トホホッティー 投稿日:05/07/21(木) 21:31
コンテストにだすEXEについて。
HSP3.0の正式バージョンがでるまでひかえたほうがいいですか?
多分、8月1日までにはでるのだろうけど。
よろしかったらご意見ください。
[1312] HSP3RC1のアーカイブについて 投稿者:chrono 投稿日:05/07/21(木) 18:47
おにたまさんHSP3の開発お疲れ様です。
hspcmp.dllのhsc3_getruntime命令とhsc3_run命令を使ってみて気づ
いたのですが、"hsp3c.exe"というファイルが抜けているのでは?
(先ほどの最初の投稿は忘れて下さい(^^;)>ALL)
[1306] HSPDX 投稿者:(""-o-"") 投稿日:05/07/21(木) 08:52
es_cls命令を使った後スプライトを動かす命令(es_adirなど)を使っても、反映されません。
[1305] デバッグウィンドウについて 投稿者:*_* 投稿日:05/07/21(木) 04:32
デバッグモードで ”配列変数”
のチェックボタンをオンにしているときに
バッファサイズの大きな配列変数を参照すると
強制終了されました。
修正お願いします。
バージョン: 3.0RC1
OS : WindowsXP
[1303] #defcfunc の仕様について 投稿者:通りすがり 投稿日:05/07/21(木) 01:58
#defcfunc の引数定義で1番目に array を指定すると
エラー扱いになるのは言語仕様によるものでしょうか?
#module
#defcfunc hoge array p0
.
.
.
return
#global
dim p, 16
hoge(p) ; <--- コンパイル時、この行に対し「error 4 : パラメーター式の記述が無効です」
とログが出力されます。
バージョン: 3.0RC1
[1304] Re: #defcfunc の仕様について 投稿者:通りすがり 投稿日:05/07/21(木) 02:44
自己解決しました。
ドキュメントを再度見直したところ、
return 文で必ず何らかの値を返し、呼び出し側は戻り値を何らかの変数に代入などのような使用をする形でないといけないということですね。
見落としてました。 orz
i = hoge(p)や
mes hoge(p)
というような感じで。
お騒がせしました・・・。
[1302] 実行中エラーのエラー 投稿者:QIG 投稿日:05/07/20(水) 22:52
HSPを実行中にエラーになった場合、メッセージを無視して、
後ろのウィンドウを閉じようとすると、VC++のエラーになります。
Ver2.61では、正常に(?)終了できます。
EXEにしてもなりますので、修正お願いします。
すでに報告されていましたら、申し訳ありません。
[1298] ドキュメント(hspprog.htm) 投稿者:tks 投稿日:05/07/20(水) 18:07
本体とは関係ありませんが、
/docs/hspprog.htmの“1.プログラミングガイド”の
“・メインウインドゥ非表示EXEファイル”と
“・ディレクトリ移動の無効化について”の冒頭が共に
“EXEファイル作成時に、メインウインドゥを非表示に
して起動させることが可能です。”となっています。
恐らく下は間違いかと。
[1301] ドキュメント(hspprog.txt) 投稿者:tks 投稿日:05/07/20(水) 21:45
ついでなので、/docs/hspprog.txtの
2453行目 objsend → sendmsg
2836行目 行なわれかなった → 行なわれなかった
2863行目 エラーか → エラーが
2950行目 dispx → ginfo_dispx
2951行目 dispy → ginfo_dispy
2952行目 paluse → ginfo_paluse
かと。
[1299] コンパイルができません 投稿者:tonbo 投稿日:05/07/20(水) 18:54
添付されている sampleフォルダのファイルでコンパイル&実行(F5)を
実行すると "実行用ランタイムライブラリが見つかりません" のダイアログがでます。
何が足りないのでしょうか ?
OS : Windows 2003 Server
D:\HSP\HSP30RC1 というフォルダに解凍しています。
HSP Ver 2.61 では実行できています。
よろしくお願いします。
[1285] ドライブ容量表示 投稿者:猫太 投稿日:05/07/20(水) 15:09
はじめまして猫太といいます。
質問なのですが、HSP3 RC1でAPIを使ってドライブ容量を表示したい
のですがどのように調べればいいのですか??
ちなみにさっきまで作っていたスクリプトです。
よろしくお願いいたします。
#uselib "KERNEL32.dll"
#func GetDiskFreeSpaceExA "GetDiskFreeSpaceExA" int
GetDiskFreeSpaceExA varptr(nn)
dim nn,37
nn(0)=148
g=nn(1)
f=nn(2)
mes " "+g+" "+f
[1286] Re: ドライブ容量表示 投稿者:Irisawa 投稿日:05/07/20(水) 16:11
> はじめまして猫太といいます。
> 質問なのですが、HSP3 RC1でAPIを使ってドライブ容量を表示したい
> のですがどのように調べればいいのですか??
> ちなみにさっきまで作っていたスクリプトです。
> よろしくお願いいたします。
こんな感じでどうでしょうか。
#uselib "kernel32.dll"
#func GetDiskFreeSpaceEx "GetDiskFreeSpaceExA" sptr, var, var, var
dim UserFreeSpace, 2
dim DiskTotal, 2
dim DiskFree, 2
GetDiskFreeSpaceEx "C:\\", UserFreeSpace, DiskTotal, DiskFree
dupptr dUserFreeSpace, varptr(UserFreeSpace), 8, vartype("double")
dupptr dDiskTotal, varptr(DiskTotal), 8, vartype("double")
dupptr dDiskFree, varptr(DiskFree), 8, vartype("double")
mes " 使用中:" + strf("%I64u", dUserFreeSpace) + "byte"
mes "ディスク容量:" + strf("%I64u", dDiskTotal) + "byte"
mes " 空き容量:" + strf("%I64u", dDiskFree) + "byte"
stop
試行錯誤でやってみただけなので間違いがあるかもしれません。
> #func GetDiskFreeSpaceExA "GetDiskFreeSpaceExA" int
パラメータが全然違います。
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_getdiskfreespaceex.htm
http://ww3.enjoy.ne.jp/~kazu.ohara/SampleCode.html
> GetDiskFreeSpaceExA varptr(nn)
> dim nn,37
変数を初期化する前のポインタを使用してはいけません。
[1288] Re^2: ドライブ容量表示 投稿者:猫太 投稿日:05/07/20(水) 16:28
> > はじめまして猫太といいます。
> > 質問なのですが、HSP3 RC1でAPIを使ってドライブ容量を表示したい
> > のですがどのように調べればいいのですか??
> > ちなみにさっきまで作っていたスクリプトです。
> > よろしくお願いいたします。
>
> こんな感じでどうでしょうか。
>
> #uselib "kernel32.dll"
> #func GetDiskFreeSpaceEx "GetDiskFreeSpaceExA" sptr, var, var, var
> dim UserFreeSpace, 2
> dim DiskTotal, 2
> dim DiskFree, 2
> GetDiskFreeSpaceEx "C:\\", UserFreeSpace, DiskTotal, DiskFree
> dupptr dUserFreeSpace, varptr(UserFreeSpace), 8, vartype("double")
> dupptr dDiskTotal, varptr(DiskTotal), 8, vartype("double")
> dupptr dDiskFree, varptr(DiskFree), 8, vartype("double")
> mes " 使用中:" + strf("%I64u", dUserFreeSpace) + "byte"
> mes "ディスク容量:" + strf("%I64u", dDiskTotal) + "byte"
> mes " 空き容量:" + strf("%I64u", dDiskFree) + "byte"
> stop
>
> 試行錯誤でやってみただけなので間違いがあるかもしれません。
>
> > #func GetDiskFreeSpaceExA "GetDiskFreeSpaceExA" int
>
> パラメータが全然違います。
>
> http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_getdiskfreespaceex.htm
> http://ww3.enjoy.ne.jp/~kazu.ohara/SampleCode.html
>
> > GetDiskFreeSpaceExA varptr(nn)
> > dim nn,37
>
> 変数を初期化する前のポインタを使用してはいけません。
ありがとうございました!!非常に参考になりました。
やっぱりAPIは難しいな〜(^^;)
[1290] Re^3: ドライブ容量表示 投稿者:Irisawa 投稿日:05/07/20(水) 16:36
> ありがとうございました!!非常に参考になりました。
> やっぱりAPIは難しいな〜(^^;)
猫太さん、蛇足になりますがマナー違反をいくつかしていますよ。
マルチポストや全文引用は基本的に嫌われますのでやめた方がいいです。
投稿場所を間違えた場合は、指摘してくれた人へのお礼と謝罪をしてから
投稿し直しましょう。
(それをしないとそちらしか見ていない人には分かったのか分からないのか
とかも分からず心配になります)
全文引用は見にくくなってしまうので最小限必要箇所だけにしてください。
[1287] Re^2: ドライブ容量表示 投稿者:Irisawa 投稿日:05/07/20(水) 16:15
> mes " 使用中:" + strf("%I64u", dUserFreeSpace) + "byte"
これは間違っていました。
ちょっとUserFreeSpaceは何を指すのかがよく分かりません。
だれか、フォローお願いいたします。
[1292] Re^3: ドライブ容量表示 投稿者:junior 投稿日:05/07/20(水) 17:08
> > mes " 使用中:" + strf("%I64u", dUserFreeSpace) + "byte"
>
> これは間違っていました。
> ちょっとUserFreeSpaceは何を指すのかがよく分かりません。
> だれか、フォローお願いいたします。
これは「呼び出し側が利用できるバイト数」で、普通は「ディスク
全体の空きバイト数」と同じになるみたいです。
例外はwin2000でディスククォータが有効になってる場合...
とのことですが、どういうことかまでは調べてませんm..m
それと、
>dim UserFreeSpace, 2
ですが、
ddim UserFreeSpace,1
とすることで、直接64bit長で受け取ることができるみたいですね。
セコいですがdupptrの分だけ処理を省けます(^^;)
[1297] Re^4: ドライブ容量表示 投稿者:Irisawa 投稿日:05/07/20(水) 17:52
> これは「呼び出し側が利用できるバイト数」で、普通は「ディスク
> 全体の空きバイト数」と同じになるみたいです。
> 例外はwin2000でディスククォータが有効になってる場合...
> とのことですが、どういうことかまでは調べてませんm..m
どうやら、WinNT系(Win2KとWinXP)ではアカウント毎にユーザーが使用できる
ディスク容量を制限できる...みたいなのですがこの辺りのしくみはよく
分かりません。
恐らくはUNIX系OSのものと同様(近いもの)だと思われますが。
> それと、
> >dim UserFreeSpace, 2
> ですが、
> ddim UserFreeSpace,1
> とすることで、直接64bit長で受け取ることができるみたいですね。
> セコいですがdupptrの分だけ処理を省けます(^^;)
初めはこれをやってみたのですが何故か強制終了したり正常に値を取得
できなかったのでこんなややこしいことをしています。
(もしかするとその時だけおかしかったのかもしれませんが...)
[1289] Re^3: ドライブ容量表示 投稿者:Irisawa 投稿日:05/07/20(水) 16:29
あと、
http://www.onionsoft.net/hsp/bbs/hspbbs.cgi?mode=allread&no=1470&page=0
の方はDoubleQuoteさんにお礼を言って完結させておいてください。
(本当はこっちに書く前に完結させておかないとマルチポストになって
しまいます)
[1291] Re^4: ドライブ容量表示 投稿者:猫太 投稿日:05/07/20(水) 16:38
> あと、
>
> http://www.onionsoft.net/hsp/bbs/hspbbs.cgi?mode=allread&no=1470&page=0
>
> の方はDoubleQuoteさんにお礼を言って完結させておいてください。
> (本当はこっちに書く前に完結させておかないとマルチポストになって
> しまいます)
すいません。失礼いたしましたm(_ _)m
[1274] mousewの値の保持について 投稿者:HaGU 投稿日:05/07/19(火) 00:44
;;HSP3.0RC1の公開お疲れさまです。;;
mousewの値の保持のされ方が少しおかしいように思いました。
mousewの値が一度参照されると0に戻ってしまいます。
;----------------------------------;
screen 0,300,300
*main
wait 20
redraw 0
color 0,0,0 : boxf 0,0,300,300
color 255,255,255
pos 0,0
mes "mousew1="+mousew
mes "mousew2="+mousew
redraw 1
goto *main
;----------------------------------;
また逆に、値を参照するまではmousewに値が入力されたままになっ
ています。
;----------------------------------;
screen 0,300,300
*main
color 0,0,0 : boxf 0,0,300,300
color 255,255,255
pos 0,0
mes "mousewの値の保持のされ方"
mes "mousew="+mousew
repeat 10
wait 20
loop
goto *main
;----------------------------------;
[1277] Re: mousewの値の保持について 投稿者:junior 投稿日:05/07/19(火) 13:44
正当な動作だと思います。
そうなってないと、ホイール移動量を二重三重に評価してしまったり、逆に読み落としてしまうからではないでしょうか?
[1280] Re^2: mousewの値の保持について 投稿者:HaGU 投稿日:05/07/19(火) 16:24
> 正当な動作だと思います。
> そうなってないと、ホイール移動量を二重三重に評価してしまったり
、逆に読み落としてしまうからではないでしょうか?
う〜ん、ですが、今のままだと微妙に意図しない動作の要因になっている
のも事実なんです(汗)
言葉で説明するのが難しいので、
http://f3.aaa.livedoor.jp/~haguruma/download.html
のページにある、[自作ゲームの新開発版 HSP3.0+HGIMG3.0]という項目を
ダウンロードして見てください。(お暇でございましたら(^_^;))
プレイ時に「ID*がアクティブになりました」という表示が出てから、ホイ
ールを動かさずにマウスの右ボタンを押した場合と、ホイールを動かしてか
らマウスの右ボタンを押した場合とで動作を比べてみると判っていただける
と思います。
(ホイールを動かしてからマウスの右ボタンを押した場合では、mousewに
値が残ってるので勝手に動いてしまいます)
[1282] Re^3: mousewの値の保持について 投稿者:junior 投稿日:05/07/20(水) 10:07
ポップアップメニューを表示する際にmousewを空読み、
(つまりリセット)すれば済むような気がします。
ボタンやホイールの有効なフェーズに入ったら、一旦状態を
リセットして読み直すことで、スジの通った動作になると思われ
ます。
おなじようなことがメニュー選択後にも起こっていて、勝手に
移動してしまいます。
これも、メニュー選択後、ボタンがオフになるまで空読みをして
から通常のルーチンに帰る(またはボタンオンではなくオフを
トリガにする)とうまくいくでしょう。
[1283] Re^4: mousewの値の保持について 投稿者:HaGU 投稿日:05/07/20(水) 12:41
> ポップアップメニューを表示する際にmousewを空読み、
> (つまりリセット)すれば済むような気がします。
>
そうですね……というより、ループ毎に
a=mousew
と読み込んで、それ以後は変数aを参照すれば確かに済む話ではあるんです
が、そうしなければならない仕様というか、mousewの値が一度参照されると
0に戻る&値を参照するまではmousewに値が入力されたままになっていると
いう仕様にメリットが感じられないのです。
最初から
mousew=mousew’
というような動作をHSP側でやっていてもらった方がありがたいな、と思う
のですが…。
>おなじようなことがメニュー選択後にも起こっていて、勝手に
>移動してしまいます。
これは僕の意図した動作です。僕の考えてる移動ルーチンでは船の背面か
らしか出来ないもので(´・ω・`)
ちょっと紛らわしかったですねw
[1284] Re^5: mousewの値の保持について 投稿者:junior 投稿日:05/07/20(水) 13:42
>mousewの値が一度参照されると0に戻る&値を参照するまでは
>mousewに値が入力されたままになっているという仕様にメリットが
>感じられないのです。
メリットというか、そもそもホイールはそういうデバイスですし、
mousewは「変化量」ですから、そういう意味でも動作は真っ当です。
もし参照するまえに0に戻ってしまったなら、おそらくいつ参照して
も0の状態しか検知できないでしょう。
敢えてHSPに要望するなら on wheel goto/gosub ですかね。
しかし、たぶんそれでもgoto/gosubした先で、mousewと同じことを
するだけのような気がしますが。
> これは僕の意図した動作です。僕の考えてる移動ルーチンでは船の背面か
> らしか出来ないもので(´・ω・`)
> ちょっと紛らわしかったですねw
メニューの出る位置が右舷に固定されているので、「移動」にして
も「待機」にしても、それを選んだ時点で右旋回してしまいます。
メニューを選ぶ操作と操艦は別ものでしょうから、分けて考えたほ
うがよいかと思います。
[1296] Re^6: mousewの値の保持について 投稿者:HaGU 投稿日:05/07/20(水) 17:39
> メリットというか、そもそもホイールはそういうデバイスですし、
> mousewは「変化量」ですから、そういう意味でも動作は真っ当です。
> もし参照するまえに0に戻ってしまったなら、おそらくいつ参照して
> も0の状態しか検知できないでしょう。
何となくですが、ようやくjuniorさんの仰ってる意味が分って来ました。
(頭の回転が遅くてすいません。汗)
まだモヤモヤした部分がありますが、要は使えればいいのだということで
、一度別の変数に読み込みさせてから使うことにします。
> メニューの出る位置が右舷に固定されているので、「移動」にして
> も「待機」にしても、それを選んだ時点で右旋回してしまいます。
> メニューを選ぶ操作と操艦は別ものでしょうから、分けて考えたほ
> うがよいかと思います。
あ、本当ですね。
ボタンを放した時に、メニューを実行する仕様に変更したいと思います。
まさかこんな流れでデバッグが出来るとは思いませんでしたw
ご意見ありがとうございましたm(_ _)m
[1275] ゴミ箱の中身を削除したい 投稿者:DoubleQuote 投稿日:05/07/19(火) 03:06
ゴミ箱の内部を削除する命令を作成しようと思いますが、
HSP3で可能でしょうか?
[1278] Re: ゴミ箱の中身を削除したい 投稿者:junior 投稿日:05/07/19(火) 14:31
これでできました。(XPのみ確認、98,98SE,Me,2000は未確認です)
;-------ソース-------------------------------------------
#uselib "shell32.dll"
#func SHEmptyRecycleBin "SHEmptyRecycleBinA" int,sptr,int
path = "C:\\"
SHEmptyRecycleBin hwnd,varptr(path),0
;-------ここまで-----------------------------------------
pathには、カラにしたいドライブを指定します。
path=""にすると全ドライブのごみ箱をカラにします。
[1279] Re^2: ゴミ箱の中身を削除したい 投稿者:DoubleQuote 投稿日:05/07/19(火) 14:41
Junior様、削除できました。ありがとうございました。
[1238] 円が欠ける!? 投稿者:DoubleQuote 投稿日:05/07/13(水) 04:16
circle命令を繰り返して使用した際に自分の環境では一部の円が
欠けてしまいます。これは、グラフィックボードがへぼいから
とか、そういった理由でしょうか?
;欠ける例文[再現例文]
r = 50
randomize gettime(7)
repeat 50
x1 = rnd(ginfo(12)-1*r)
y1 = rnd(ginfo(13)-1*r)
color 255 , 000 , 000 : circle x1+1 , y1+1 , x1+r-1 , y1+r-1 , 1
await 1
loop
[1272] 3.0RC1で修正 投稿者:Shark++ 投稿日:05/07/18(月) 12:39
3.0RC1で修正されたようです
おにたまさん、お疲れ様でした
[1266] Re: 円が欠ける!? 投稿者:Shark++ 投稿日:05/07/16(土) 22:24
私の環境でも再現しました
調べた所、どうも、再描画が出来ていないっぽいです
redraw
をしてあげると欠けている部分も表示されます
[1271] HSP3.0RC1を公開しました 投稿者:おにたま(管理人) 投稿日:05/07/18(月) 02:11
β版ダウンロードページにて、HSP3.0RC1を公開しました。
細かい部分で未調整な所はありますが、ほぼリリース版と同様の内容になっています。
不具合など色々なご報告ありがとうございます。
大きな問題がなければ、今月末から来月にかけてリリース版を公開したいと
考えています。
引き続き、致命的な不具合や不備がありましたら、お知らせ頂けると嬉しいです。
[1256] hsp3β 投稿者:ENM 投稿日:05/07/16(土) 14:28
こんにちは、ENMです。
HGIMG2では、DirectXは必要なかったのですが、
HGIMG3では、DirectX8.0以降を必要とします。
確かにHGIMG3では、機能が優れているのですが、DirectX8.0という点で動作環境が限られていますので、DirectXがなくても動作できるプラグインも作って下さったら非常にありがたいです。
でも、無理ならかまいません。
[1265] Re: hsp3β 投稿者:Shark++ 投稿日:05/07/16(土) 21:19
少し探しても見つからなかったですが、過去におにたまさんが、
HGIMG3はトゥーンレンダリングなどの処理でDirectXが必須になっているので
DirectX未使用のバージョンはサポートしないので必要ならHGIMG2を使って欲しいと
書いていた記憶があります。
よくは覚えていないので間違っているかもしれませんのでご自分で探す事をお勧めしますが
過去に同じような質問が出ていたことは確かだと思います。
[1267] Re^2: hsp3β 投稿者:hiromasa 投稿日:05/07/16(土) 23:36
> DirectX未使用のバージョンはサポートしないので必要ならHGIMG2を使って欲しいと
> 書いていた記憶があります。
これですね。
http://www.onionsoft.net/hsp/beta/betabbs.cgi?mode=allread&no=1049&page=123
> 確かにHGIMG3では、機能が優れているのですが、DirectX8.0という
>点で動作環境が限られていますので、DirectXがなくても動作できる
>プラグインも作って下さったら非常にありがたいです。
> でも、無理ならかまいません。
残念ながら無理のようですね。
[1269] Re^3: hsp3β 投稿者:ENM 投稿日:05/07/17(日) 11:42
> > DirectX未使用のバージョンはサポートしないので必要ならHGIMG2を使って欲しいと
> > 書いていた記憶があります。
> これですね。
そうですか。HGIMG3よりHGIMG2を使うことが多くなりそうです。
ありがとうございます。
[1258] アイコンが 投稿者:トホホッティー 投稿日:05/07/16(土) 16:01
EXEのアイコンが書き換えられません。
書き換えようとすると
アイコン以外のリソースを含むファイルは書き換えられません
とでてしまいます。
[1260] Re: アイコンが 投稿者:Irisawa 投稿日:05/07/16(土) 18:10
> EXEのアイコンが書き換えられません。
> 書き換えようとすると
> アイコン以外のリソースを含むファイルは書き換えられません
> とでてしまいます。
HSP2.x用のHSPアイコン書き換えツールを使用していますか?
HSP3.0ではリソースにmanifestファイルも含まれていますので
そのままでは書き換えることは出来ません。
ResourceHackerなどのリソース書き換えツールを使用してはどうで
しょうか。
[1261] Re^2: アイコンが 投稿者:トホホッティー 投稿日:05/07/16(土) 18:52
> HSP2.x用のHSPアイコン書き換えツールを使用していますか?
> HSP3.0ではリソースにmanifestファイルも含まれていますので
> そのままでは書き換えることは出来ません。
> ResourceHackerなどのリソース書き換えツールを使用してはどうで
> しょうか。
返信ありがとうございます。
そうしてみたいとおもいます。
[1263] Re^3: アイコンが 投稿者:トホホッティー 投稿日:05/07/16(土) 18:59
> > HSP2.x用のHSPアイコン書き換えツールを使用していますか?
> > HSP3.0ではリソースにmanifestファイルも含まれていますので
> > そのままでは書き換えることは出来ません。
> > ResourceHackerなどのリソース書き換えツールを使用してはどうで
> > しょうか。
>
> 返信ありがとうございます。
> そうしてみたいとおもいます。
教えていただいて申し訳ないのですが、
とりあえずResourceHackerがよくわからないので、
そのままコーヒーカップのアイコンでやってようとおもいます。
[1264] Re^4: アイコンが 投稿者:Shark++ 投稿日:05/07/16(土) 21:05
> 教えていただいて申し訳ないのですが、
> とりあえずResourceHackerがよくわからないので、
> そのままコーヒーカップのアイコンでやってようとおもいます。
ResourceHackerってのは↓ね
http://www.angusj.com/resourcehacker/
EXEの中のリソースに埋め込まれているアイコンやメニューなどを変更するツールです
[1210] エディタの問題です 投稿者:ちたん 投稿日:05/07/07(木) 16:28
どうもです。エディタなのですが、テキストの最後にカーソルを合わせ([EOF]のとなり)改行して、増やした行をDeleteしてカーソルを動かそうとするとエラーで落ちます。どうしてですかね?
あと要望ですがトレース実行とブレークポイントの設置などあるとうれしいです。
[1213] Re: エディタの問題です 投稿者:Irisawa 投稿日:05/07/07(木) 19:29
> どうもです。エディタなのですが、テキストの最後にカーソルを
> 合わせ([EOF]のとなり)改行して、増やした行をDeleteして
> カーソルを動かそうとするとエラーで落ちます。どうしてですかね?
EOFの処理に問題があると思われます。
(確実な)再現性があるようなら使用している環境(OSやHSPβバージョン
など)と再現手順を詳細に記述してバグ報告してください。
> あと要望ですがトレース実行とブレークポイントの設置などあると
> うれしいです。
これらは、いずれ実装される予定のようです。
以前から要望されていたり需要はあっても簡単には実装できない機能は
結構あります。
[1250] Re^2: エディタの問題です 投稿者:ちたん 投稿日:05/07/15(金) 22:30
> EOFの処理に問題があると思われます。
> (確実な)再現性があるようなら使用している環境(OSやHSPβバージョ
ン
> など)と再現手順を詳細に記述してバグ報告してください。
OSは WINDOWS2000Pro
HSPバージョンは 3.0b11です。
エディタは新しい方です。OLDではありません。
[1241] gmode の p2, p3 投稿者:RinD 投稿日:05/07/13(水) 15:49
gmode 命令で、p2, p3を省略して、p1のコピーモードのみを変更すると、
コピーする大きさも変わってしまうようです。
; 例
screen 0, 640, 480, 0
screen 2, 640, 480, 0 : cls 4
gsel 0
gmode 0, 16, 16
pos 0, 0 : gcopy 2, 0, 0
gmode 1
pos 32, 0 : gcopy 2, 0, 0
stop
HSP3.0β11です。
[1239] エディタばぐ 投稿者:911 投稿日:05/07/13(水) 04:47
エディタでソースを範囲指定→右クリックをすると貼り付け以外使用できません。
[1224] HSP3のCOMに関する要望及び質問 投稿者:おくだ 投稿日:05/07/09(土) 11:24
現在、HSP3への移行作業を進めていますが、いくつか要望
及び質問があります。
comresで取得できる文字列の最大は1024のようですが、
すべて取得できるようにできませんか?
Lollipopのdebug.asに実装されているTypeNemaを標準で実装
していただきたいのですがお願いできませんか?
以下のLollipopのコードをHSP3用に直したいのですが
(定義されている必要がある等の)制約が多くて、いい方法がおもいつきません、
varinit var
createobj pobj,"aaaa.zzzzzz",IID_IDISPATCH
dispget pUnk,pobj, "hoge"
if pUnk{
;querycomをどう使用すればいいのか疑問。
queryinterface pFoo, pUnk, IID_IFoo
if pFoo{
;pFooはDISPATCHのメソッドを持たないのでicallで呼び出し
varset_n var,0,VT_DISPATCH
prm=1,var
ll_getptr pbuf:prm.2=stat
icall pFoo, 3, prm, 4
varget pobj2, var
if pobj2{
sdim strText,260
dispget strText,pobj2,"prop"
dialog strText
Release pobj2: pobj2 = 0}
Release pFoo: pFoo = 0}
Release pUnk: pUnk = 0}
Release pobj: pobj = 0
varclear var
どのようにすればいいでしょうか?
[1225] Re: HSP3のCOMに関する要望及び質問 投稿者:ちょくと 投稿日:05/07/09(土) 19:53
こんにちは、HSP3 開発でCOM部分を担当しているちょくとです。
> comresで取得できる文字列の最大は1024のようですが、
> すべて取得できるようにできませんか?
現状では、あらかじめHSPが準備している一時領域を使用しているので、
このような制約があります。ご要望通り、すべての文字列を取得できる
ようにしたいと思います。
> Lollipopのdebug.asに実装されているTypeNemaを標準で実装
> していただきたいのですがお願いできませんか?
こちらとしては、標準であまり多くの機能を載せすぎないようにしたいと
考えておりまして、それらの機能については必要に応じてモジュール等で
対応することも可能だとは思うのですが、いかがなものでしょうか。
通常、この機能を使うことは稀だろうと考えたので、Lollipopモジュール
においても、デバッグ機能の1つという位置付けをしていたのですが。
必要なら、それらを標準機能として実装することも検討したいと思います。
> 以下のLollipopのコードをHSP3用に直したいのですが
> (定義されている必要がある等の)制約が多くて、いい方法がおもいつきません、
とりあえず、おくださんが示されたコードをそのまま書き直すとすると
以下のようになると思います。
ただし、β11ではこの書き方はできません。現在、新しい変数型として
Variant 型を実装したものを dev-ML の方でテスト公開していますが、
そちらのバージョンでということです。Variant型変数はCOMイベントの
パラメータが参照型の場合に参照先を書き換えることができるようにと
導入したものです。現在のβ11でも、Variant構造体の部分をうまく処理
するように書き換えればいけると思います。
#usecom IID_IFoo "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"
#comfunc IFoo_MethodA 3 int,int,int,int
newcom pobj,"aaaa.zzzzzz"
if ( varuse(pobj) ) {
dimtype var, vartype("variant"), 1 ; Variant 型変数 (β11では未実装)
pUnk = pobj("hoge")
if ( varuse(pUnk) ) {
querycom pFoo, pUnk, IID_IFoo
if ( varuse(pFoo) ) {
IFoo_MethodA pFoo, 1, varptr(var), varptr(pbuf), xxx ; 4番目の引数は何?
pobj2 = var("value")
if ( varuse(pobj2) ) {
strText = pobj2("prop")
dialog strText
delcom pobj2
}
delcom pFoo
}
delcom pUnk
}
delcom pobj
}
上は提示されたコードをそのまま書き換えた場合ですが、オブジェクトが
IFoo を提供していることが既に分かっている場合には、querycom を実行
する必要はありません。現在では、メソッド呼び出し時に自動的に必要な
インターフェースを query するようになっているため、querycom 命令を
使うことはそれほど多くないと思います。
[1229] Re^2: HSP3のCOMに関する要望及び質問 投稿者:おくだ 投稿日:05/07/10(日) 23:11
ちょくとさん御返事ありがとうございます。
> 現状では、あらかじめHSPが準備している一時領域を使用しているので、
> このような制約があります。ご要望通り、すべての文字列を取得できる
> ようにしたいと思います。
ありがとうございます。
よろしくお願いいたします。
> こちらとしては、標準であまり多くの機能を載せすぎないようにしたいと
> 考えておりまして、それらの機能については必要に応じてモジュール等で
> 対応することも可能だとは思うのですが、いかがなものでしょうか。
自分としては関数としての実装を希望します。
例えば
dilalog typename(pobj)
や
if typename(pobj)="Object/IFoo"{
処理
}
といった書き方ができればいいとおもいます。
> 通常、この機能を使うことは稀だろうと考えたので、Lollipopモジュール
> においても、デバッグ機能の1つという位置付けをしていたのですが。
> 必要なら、それらを標準機能として実装することも検討したいと思います。
ウェブブラウザでHTNLDocumentかFolderViewかの判断くらいですが
他にも利用法があるかもしれません。
> ただし、β11ではこの書き方はできません。現在、新しい変数型として
> Variant 型を実装したものを dev-ML の方でテスト公開していますが、
> そちらのバージョンでということです。Variant型変数はCOMイベントの
> パラメータが参照型の場合に参照先を書き換えることができるようにと
> 導入したものです。現在のβ11でも、Variant構造体の部分をうまく処理
> するように書き換えればいけると思います。
やはり自前でVariant構造体を処理する必要があるんですね。
つぎのバージョンまでまってためしてみます。
[1231] Re^3: HSP3のCOMに関する要望及び質問 投稿者:ちょくと 投稿日:05/07/11(月) 02:23
了解しました。それでは、標準で実装する方向で。
記述の方法としては、プロパティの書き方を拡張して、
pobj("#coclassname"), pobj("#interfacename") のような
書き方にしようかと考えています。(1文字目の # は、
通常のプロパティ名と区別するため。他に良い方法があれば
提案してみてください。)
[1232] Re^4: HSP3のCOMに関する要望及び質問 投稿者:おくだ 投稿日:05/07/11(月) 22:12
> 了解しました。それでは、標準で実装する方向で。
ありがとうございます。
これで移植及び新規の開発が楽になります。
> 記述の方法としては、プロパティの書き方を拡張して、
> pobj("#coclassname"), pobj("#interfacename") のような
> 書き方にしようかと考えています。(1文字目の # は、
> 通常のプロパティ名と区別するため。他に良い方法があれば
> 提案してみてください。)
自分としては
"Object/IShellFolderViewDual2"
といったインターフェース名を返していただけるのであれば
どのような形でも構いません。
ちょくとさんにお任せいたします。
あと...
WindowsXP sp2
で使用するATL.dllとクラス名を変更しないとFM20.dllを使用
したアクティブXコントロールなど多数のコントロールが動作
しないことはお気づきでしょうか?
ATL.dll−>ATL71.dll
AtlAxWin−>AtlAxWin71
去年そのような投稿をちょくとさんの掲示板でみかけましたが。。。
[1018] stick命令 投稿者:Jam 投稿日:05/05/14(土) 23:58 <URL>
stick命令のウィンドウアクティブチェックが機能していません。
ウィンドウが非アクティブでも入力検知してしまいます。
p3に0を入れても1を入れても同じです。
[1226] Re: stick命令 投稿者:みみ 投稿日:05/07/09(土) 20:04
> stick命令のウィンドウアクティブチェックが機能していません。
> ウィンドウが非アクティブでも入力検知してしまいます。
> p3に0を入れても1を入れても同じです。
私も、プログラムを積み重ねているうちに、機能しなくなりました。
簡単なサンプルで試すと、しっかり機能してるんですが。
どのあたりから、ウィンドウアクティブチェックが効かなくなるのか
わかりません。
[1228] Re^2: stick命令 投稿者:Jam 投稿日:05/07/10(日) 14:28 <URL>
> 私も、プログラムを積み重ねているうちに、機能しなくなりました。
> 簡単なサンプルで試すと、しっかり機能してるんですが。
> どのあたりから、ウィンドウアクティブチェックが効かなくなるのか
> わかりません。
最小構成で再現できました。
buffer 2
gsel 0
*MAIN
stick key
if key = 64 : dialog "Ctrl"
wait 5
goto *MAIN
操作先ウィンドウが1度でも変更されると利かなくなるみたいです。
[1214] color 0,0,0+ boxf での画面クリアで… 投稿者:サキ 投稿日:05/07/08(金) 01:29
color 0,0,0 : boxf
のようにして黒(R,G,B=0,0,0)で画面クリアした後、画面右端と下端のRGBを調べると255,255,255の白になったままです。
ウィンドウすれすれはRGBが変わらないようです。
画面IDは0の時です。
[1215] Re: color 0,0,0+ boxf での画面クリアで… 投稿者:サキ 投稿日:05/07/08(金) 01:30
HSP-β11です^^;
[1216] Re^2: color 0,0,0+ boxf での画面クリアで… 投稿者:ちょくと 投稿日:05/07/08(金) 11:49
私の環境では、ちゃんと黒になっているように見えるけど…
screen 0,200,200
color 0,0,0 : boxf
pget 0, 199 : mes "abc" ; 下端の色
pget 199, 0 : mes "def" ; 右端の色
[1218] Re^3: color 0,0,0+ boxf での画面クリアで… 投稿者:junior 投稿日:05/07/08(金) 14:58
まったく同じではありませんが、以下のソースで同様の現象が見ら
れます。
3行目を[screen 2,200,200,4]にすることで回避できるのですが、
何かのヒントになりますでしょうか。
#uselib "user32.dll"
#func SetWindowLong "SetWindowLongA" int,int,int
screen 2,200,200
gsel 2,-1
SetWindowLong hwnd,-16,0x00C00000
color 0,0,0:boxf
gsel 2,1
[1219] Re^4: color 0,0,0+ boxf での画面クリアで… 投稿者:ちょくと 投稿日:05/07/08(金) 16:14
HSP では勝手にウィンドウスタイルが変更されることを想定して
いないのだと思います。GetClientRect() でクライアント領域の
サイズ取得してみると 202×202 になってますしね。
ウィンドウサイズとタイトルバーやフレームの幅から描画領域を
逆算しているのかもしれません。
[1220] Re^5: color 0,0,0+ boxf での画面クリアで… 投稿者:サキ 投稿日:05/07/09(土) 01:06
screen 0,200,200,,0,0
title "チェック"
repeat
redraw 0
color ,,:boxf
pget mousex,mousey
r=ginfo(16):g=ginfo(17):b=ginfo(18)
color 255,255,255
pos 0,130:mes "RGB:"+r+","+g+","+b
pos 0,150:mes "マウス座標"+mousex+","+mousey
await 1
redraw 1
loop
このプログラムを実行すると画面の(x,y)=(4〜197,200)&(200,0〜199)の座標がcolor 255,255,255のままです。
ついでに座標yが200のとき座標x=1,2,3,197,198,199,200の値を取得できないようです。
自分でやってみて画面を(x,y)=(200,200)で初期化すると本来0〜199までの値しか取得できないのに画面ID:0の時だけ200の値が取れてしまうエラーなのかなと勝手に解釈してみました(^^;)
ID:0以外だと200の値はやっぱり取れませんね(200で画面サイズ変更のカーソルに変わる)
[1223] Re^6: color 0,0,0+ boxf での画面クリアで… 投稿者:ちょくと 投稿日:05/07/09(土) 09:53
どうやら、この現象はWindows XPのビジュアルスタイル(Luna)
の場合に起こっているようですね。クラシックスタイルの場合は
0〜199 しか取得されませんので。
mousex, mousey は WM_MOUSEMOVE メッセージで決定されている
はずですが、ビジュアルスタイルとそれ以外とで、少々動作が
違っているのかも知れません。
[1217] 隠れていた画面の再描画の不具合 投稿者:RinD 投稿日:05/07/08(金) 13:01
HSPのウインドウの上に他のアプリのウインドウを重ねてドラッグすると、
HSPのウインドウの隠れていた部分に、描画されない白いままの領域が出ることがあります。
ループで常にredrawを行えば描画されるので、
たぶんウインドウプロシージャ周りだと思うのですが…
環境はWinXP + HSP3.0β11です。
宜しく検証願います。
[1209] C HSP 投稿者:y_kohei19 投稿日:05/07/07(木) 15:14
HSP3β で、ときどき
C言語のエラーがでます。
(^o^)
-----END-----
[1212] Re: C HSP 投稿者:Irisawa 投稿日:05/07/07(木) 19:24
> HSP3β で、ときどき
> C言語のエラーがでます。
> (^o^)
HSPはVC++で開発されています。
想定外の例外が発生した場合に(例外処理の漏れによって)強制終了
などの事態が発生することがあります。
最近のVC++は強制終了の直前に割り込んでデバッグエラーを出す場合が
あります。(必ずではありません)
これが、原因だと思います。
要はHSPのコーティング上のバグという訳なので必然的な再現性がある
ようならその詳細(再現手順や使用しているOS,HSPβバージョンなどの
環境)を記述してバグ報告してください。
環境依存の不具合もあるため、開発環境で再現しなければ修正する
ことができません。
[1211] Re: C HSP 投稿者:hiromasa 投稿日:05/07/07(木) 17:53
> HSP3β で、ときどき
> C言語のエラーがでます。
> (^o^)
> -----END-----
hsp3b.txtに
>HSPおよび周辺ツールは、
>Microsoft Visual C++7.1によってコンパイルされています。
とあります。
C言語のエラーが出るのはこのためだと思います。
[1203] returnが無効になる。 投稿者:トホホッティー 投稿日:05/07/06(水) 15:52
以下のプログラムが正常に動きません。
cls 4
color 255,255,255
pos 320-180,382:mes "プレーヤー名入力(全角6文字半角12文字まで)"
font "MS ゴシック",18,0
gosub *kikiki
*kikiti
font "MS ゴシック",18,0
clrobj
plna.kk=plbu
color 0,0,0
pos 7*16+8+2,kk*30+50+1
mes plna.kk
stop
*kikiki
sdim plbu,256
plbu=""
pos 7*16+8-5,kk*30+50-2
objmode 2
font "MS ゴシック",18,0
input plbu,164,24,12
objsel 0
onkey goto *ok
*ain
await 1
onkey 1
stop
*ok
onkey 0
if iparam=229 :goto *ain
if (iparam=13) &(plbu!"") :return ;goto *kikiti ;<--このgotoとreturnをいれかえれば正常に動きます。
goto *ain
を実行すると入力してenterを押すとサブルーチン外のreturnは無効です。とでてしまいます。
gousubで実行している時にonkey gotoを設定してしまうとreturnが有効にならないというβ版のバグでしょうか?
[1206] Re: returnが無効になる。 投稿者:ちょくと 投稿日:05/07/06(水) 19:12
onkey goto はジャンプ時にサブルーチンのネストレベルがゼロに
リセットされるので、ジャンプ先(*ok ラベル)で return を実行
するとエラーになります。
こんな感じでいいのかな…。
cls 4
color 255,255,255
pos 320-180,382:mes "プレーヤー名入力(全角6文字半角12文字まで)"
font "MS ゴシック",18,0
sdim plbu,256
pos 7*16+8-5,kk*30+50-2
objmode 2
font "MS ゴシック",18,0
input plbu,164,24,12
onkey goto *ok
stop
*ok
if iparam=229 : stop
if (iparam=13) &(plbu!"") : goto *kikiti
stop
*kikiti
onkey 0
font "MS ゴシック",18,0
clrobj
plna.kk=plbu
color 255,255,255
pos 7*16+8+2,kk*30+50+1
mes plna.kk
stop
[1208] Re^2: returnが無効になる。 投稿者:トホホッティー 投稿日:05/07/06(水) 20:01
> onkey goto はジャンプ時にサブルーチンのネストレベルがゼロに
> リセットされるので、ジャンプ先(*ok ラベル)で return を実行
> するとエラーになります。
ちょくと様、素早い返信ありがとうございました。
原因はonkey gotoを宣言することではなくてそこから飛んだ処理でのエラーだったのですね。
ということは、gotoでつなげていかなければならないということでしょうね。
さっそく対応したいと思います。
[1195] HGIMG3が動かない 投稿者:Kara 投稿日:05/07/05(火) 11:48
はじめまして。
突然ですが、HGIMG3が動きません。
動作環境は、HSPβ11
Windows ME
DirectX 9.0cです。
もしかして、Windows MEでは動かないのでしょうか?
[1197] Re: HGIMG3が動かない 投稿者:DoubleQuote 投稿日:05/07/05(火) 19:03
> はじめまして。
> 突然ですが、HGIMG3が動きません。
どのように動かないのですか?
たとえば、
○○をするときに「○○○○○」というエラーが出るなどと
教えてください。
[1202] Re^2: HGIMG3が動かない 投稿者:Kara 投稿日:05/07/06(水) 15:07
> > はじめまして。
> > 突然ですが、HGIMG3が動きません。
> どのように動かないのですか?
> たとえば、
> ○○をするときに「○○○○○」というエラーが出るなどと
> 教えてください。
HGIMG3のサンプルを動かしてみただけです。
真っ黒なウインドウが表示されるだけで、
エラーは出ません。
[1190] 無題 投稿者:かつら 投稿日:05/07/02(土) 22:20
noteload命令で読み込みサイズの上限値を定めると『代入できない変数名を使っています』となってエラーになってしまいます。
仕様が変わってしまったのでしょうか?
[1189] HGIMG 3.0の要望 投稿者:レーフル・スピン 投稿日:05/07/02(土) 22:18
HGIMG 3.0の要望に関してなんですが、2つ要望があります。
一つ目はHGIMG 3.0に3Dで雲等が描ける「フォグ 機能」というものをHGIMG 3.0に追加してほしいです。
二つ目はHGIMG 3.0でレイトレーシング機能を追加してほしいです。
できればこの2つを今作のHGIMGプラグインに追加してほしいです。
お願いします。
[1184] (削除) 投稿者:(削除) 投稿日:05/07/02(土) 06:53
(削除されました)
[1153] hgimg3 投稿者:かっつい 投稿日:05/06/21(火) 21:14
hgimg3でobjmovが使えないんだけど、サポートされてないの?
[1158] Re: hgimg3 投稿者:おにたま(管理人) 投稿日:05/06/23(木) 00:44
>hgimg3でobjmovが使えないんだけど、サポートされてないの?
objmov命令は、HGIMG3ではサポートされません。
より多機能になったイベントのシステムをかわりに使ってもらえればと思います。
[1181] Re^2: hgimg3 投稿者:かっつい 投稿日:05/07/01(金) 22:33
> >hgimg3でobjmovが使えないんだけど、サポートされてないの?
>
> objmov命令は、HGIMG3ではサポートされません。
> より多機能になったイベントのシステムをかわりに使ってもらえればと思います。
> ありがとうございます!
> すいません。あともうひとつ・・・
> hgimg3にて【addmesh】で作製したメッシュモデルが出力されません
[1160] setxinfoにて 投稿者:cbird 投稿日:05/06/23(木) 12:39 <URL>
hgimg3β6にて新規に追加されたgetxinfo、setxinfo命令を試してみ
ました。
・getxinfo命令は改行コードで区切られた一覧を取得できるのです
が、配列に取得した方が使い勝手がよくないでしょうか?
・setxinfo命令は色々試してみたのですが、動作してくれません。
addxfile m_xmodel1,"hako.x"
regobj obj1, m_xmodel1
getxinfo tex1,obj1,0
setxinfo obj1,2,1,100,100,100
と書いたのですがどこか間違っているのでしょうか?
取得したtex1の中身は以下のものです(改行を「、」におきかえま
した)SCENE_ROOT、groundPlane_transform、hako、side、front、to
p、persp
ノードIDの数値を色々変えたり、名前にしてみたりもしたのですが
特に変化はみられませんでした。(Xファイルにアニメーションは無
いことを確認しています)
[1164] Re: setxinfoにて 投稿者:cbird 投稿日:05/06/24(金) 13:55 <URL>
HGIMG3.0β7でさらにgetxinfo、setxinfo命令を試してみました。
・getxinfo命令にて存在しないノードの情報を取るとHSPが終了しました。
・setxinfo命令のモード1と2はボーンに対してのみ有効なのでしょうか
? ただのオブジェクトのノードに対して行なうと数値は変化しているので
すが、みかけは変化が得れませんでした。
・setxinfo命令のモード$2000にてテスクチャーの張替えを行なうと、新し
く張られたテクスチャーのR:0G:0B:0の部分が抜けになりました。元々張っ
てあったテクスチャーのR:0G:0B:0は抜けてなかったので、どちらかが不具
合かと思います。設定があるのかもしれませんが・・・・
[1173] Re^2: setxinfoにて 投稿者:おにたま(管理人) 投稿日:05/06/27(月) 20:58
>・getxinfo命令にて存在しないノードの情報を取るとHSPが終了しました。
ご報告ありがとうございます。
今後のバージョンで修正していきたいと思います。
>・setxinfo命令のモード1と2はボーンに対してのみ有効なのでしょうか?
>ただのオブジェクトのノードに対して行なうと数値は変化しているので
>すが、みかけは変化が得れませんでした。
ただのオブジェクトというのは、ボーンの入っていないモデルということでしょうか。
ボーンの入っていないメッシュだけの階層にも有効なはずなのですが、
もう少し調べてみたいと思います。
>・setxinfo命令のモード$2000にてテスクチャーの張替えを行なうと、新し
>く張られたテクスチャーのR:0G:0B:0の部分が抜けになりました。元々張っ
>てあったテクスチャーのR:0G:0B:0は抜けてなかったので、どちらかが不具
>合かと思います。設定があるのかもしれませんが・・・・
張替えを行なうテクスチャをtexload命令で読んでいるのであれば、
RGB=0のドットは抜けると思います。
(texload命令で読み込んだ時点で透明色が設定されます。)
抜けて欲しくない場合は、texload2命令を使用するか、hgsetreqで透明色コードを
設定するようにしてください。
xファイルに含まれるテクスチャはtexload2命令と同じ動作なので、
RGB=0が透明になることはありません。
[1175] Re^3: setxinfoにて 投稿者:cbird 投稿日:05/06/28(火) 00:29 <URL>
> ただのオブジェクトというのは、ボーンの入っていないモデルという
> ことでしょうか。
はい、ボーンの入ってないモデルです
getxinfoで調べると数値は変化しているのですが、変化が見えませんでし
た。
> 張替えを行なうテクスチャをtexload命令で読んでいるのであれば、
> RGB=0のドットは抜けると思います。
> (texload命令で読み込んだ時点で透明色が設定されます。)
> 抜けて欲しくない場合は、texload2命令を使用するか、hgsetreqで透
明色コードを
> 設定するようにしてください。
> xファイルに含まれるテクスチャはtexload2命令と同じ動作なので、
> RGB=0が透明になることはありません。
なるほど、そうだったのですか、解決しました。
texload命令のRGB=0が抜けになることをヘルプ、hgimg3.txtに明記をお願
いします。
[1176] Re^4: setxinfoにて 投稿者:cbird 投稿日:05/06/28(火) 12:11 <URL>
ボーンの入っていない、普通のオブジェクトを多数内包するXファイルで色
々テストしてみました。結果、移動、回転、スケールすべて反映されていな
いようです(XファイルでのFrameTransformMatrixの値です)
ヴューワーでは様々な位置、回転、スケールで表示されるのですが、HPSで
は全て、位置0,0,0、回転0,0,0、スケール1,1,1で表示されました。
[1174] HSP3.0β11を公開しました 投稿者:おにたま(管理人) 投稿日:05/06/27(月) 20:59
β版ダウンロードページにて、HSP3.0β11を公開しました。
細かな不具合の修正などを行なっています。
今後も引き続き、RC版に向けて調整を行なっていく予定です。
不具合やマニュアル類のミスなどお知らせ頂けると嬉しいです。
[1155] execについて 投稿者:Osaru 投稿日:05/06/22(水) 21:17
Osaru@本日入門です。
exec命令で2.61では
exec "calc.exe",1
end
とした場合、calcが終ってからウィンドウが閉じますが、
3.0β10ではすぐに閉じてしまいます。
execのp1は現状では未実装なのでしょうか?
[1172] Re: execについて 投稿者:おにたま(管理人) 投稿日:05/06/27(月) 20:58
>exec "calc.exe",1
>end
>とした場合、calcが終ってからウィンドウが閉じますが、
>3.0β10ではすぐに閉じてしまいます。
>execのp1は現状では未実装なのでしょうか?
ご指摘ありがとうございます。
該当の機能は3.0では未実装です。
[1085] helpmanからウィルス検出 投稿者:delta 投稿日:05/06/06(月) 13:04
hsp3b9をnod32アンチウィルスでチェックしたところ
helpman.exeファイルからkillwinというウィルス検出結果が
報告されました。これってウィルスなんでしょうか?
一応報告させていただきます。
[1088] Re: helpmanからウィルス検出 投稿者:おにたま(管理人) 投稿日:05/06/06(月) 20:08
> hsp3b9をnod32アンチウィルスでチェックしたところ
> helpman.exeファイルからkillwinというウィルス検出結果が
> 報告されました。これってウィルスなんでしょうか?
ご報告ありがとうございます。
helpmanのウィルス検出は、誤認識だと思われます。
nod32以外での報告もありません。
状況を見守りながら、必要があればアンチウィルスのベンダーに
連絡をしてみたいと思います。
[1117] Picture Trim でも 投稿者:Shark++ 投稿日:05/06/14(火) 00:53
Shark++です
Picture Trim でも同じ現象があったようです
http://aea.to/d-home/note/index.html
[1100] AntiVirにて 投稿者:Diego 投稿日:05/06/09(木) 15:41
誤認識だと思われるのですが、AntiVirでも3.0β9でTR/KillWin.AJというのが出ました。
因みに2.61も出ます。参考までにログを。
hsp261.zip
ArchiveType: ZIP
--> hsperun.exe
[DETECTION] Is the Trojan horse TR/KillWin.AJ
--> hsphelp\helpman.exe
[DETECTION] Is the Trojan horse TR/KillWin.AJ
--> runtime\hsp2c.hrt
[DETECTION] Is the Trojan horse TR/KillWin.AJ
[1113] Re: AntiVirにて 投稿者:Shark++ 投稿日:05/06/12(日) 12:11
Shark++です
KillWin で検索してみたら面白そうなサービスを見つけたので
hsphelp\helpman.exe をスキャンしてみた結果
------------------------------------------------------------
AntiVir 6.31.0.5 2005.06.11 TR/KillWin.AJ
AVG 718 2005.06.11 no virus found
Avira 6.31.0.5 2005.06.11 TR/KillWin.AJ
BitDefender 7.0 2005.06.12 no virus found
ClamAV devel-20050501 2005.06.11 no virus found
DrWeb 4.32b 2005.06.11 no virus found
eTrust-Iris 7.1.194.0 2005.06.11 Win32/DelWin.L!Trojan
eTrust-Vet 11.9.1.0 2005.06.10 no virus found
Fortinet 2.27.0.0 2005.06.10 no virus found
Ikarus 2.32 2005.06.11 Trojan.Win32.KillWin.AJ
Kaspersky 4.0.2.24 2005.06.12 no virus found
McAfee 4511 2005.06.10 no virus found
NOD32v2 1.1136 2005.06.11 no virus found
Norman 5.70.10 2005.06.11 no virus found
Panda 8.02.00 2005.06.12 no virus found
Sybari 7.5.1314 2005.06.12 Win32/DelWin.L!Trojan
Symantec 8.0 2005.06.11 no virus found
TheHacker 5.8-3.0 2005.06.11 no virus found
VBA32 3.10.3 2005.06.12 Trojan.Win32.KillWin.aj
http://www.virustotal.com/
------------------------------------------------------------
よく知らない名前のソフト(http://www.virustotal.com/flash/virustotal_en.html)もあるしウイルスバスターがなさそうだけど
とりあえず、何となく傾向が分かると思います
hsprt なんかもスキャンしてみたけど見つかりませんでした
helpman.exe は HSP 2.61製のようなのでなにか問題があるとすれば、2.61のランタイムが問題ではないでしょうか
[1171] Re^2: AntiVirにて 投稿者:おにたま(管理人) 投稿日:05/06/27(月) 20:57
>Shark++です
>KillWin で検索してみたら面白そうなサービスを見つけたので
便利なサイト(http://www.virustotal.com/)を教えて頂きありがとうございます。
とりあえず、そのサイトで感染と判定したソフトのベンダーに
対しては、連絡をして大半は対応が完了しています。
今後とも、誤認識などの情報がありましたら、お知らせ頂けると嬉しいです。
[1154] AntiVir誤作動しなくなりました 投稿者:Diego 投稿日:05/06/22(水) 08:11
AntiVirでの誤作動は無くなったようです。また、Avastでの誤作動も
無くなったようです。以上報告でした。
[1133] Re^2: AntiVirにて 投稿者:エイチム 投稿日:05/06/17(金) 01:27 <URL>
avast!4 Home でも同様の現象が発生します。
以下のファイルがWin32:KillWin-C [Trj]として検出されます。
HSPver2.61
・hsperun.exe
・hsp2c.hrt
・上記hsp2c.hrtを使用して作成されたと思われる実行ファイル
HSPver3.0b9
・helpman.exe
ウイルスデータベースのバージョンは 2006,6/16 更新の 0524-4 です。avast!4 Home以外のバージョンでの検証はしていません。
報告でした。
[1086] Re: helpmanからウィルス検出 投稿者:cbird 投稿日:05/06/06(月) 13:42 <URL>
私もNod32を使ってウィルスチェックをしているのですが、
HSP2.61のヘルプからもウィルス(ワームだったかも?)がみつかりました
。
以前は無反応でウィルスパターンが更新してから出るようになったので、
よくあるパターンミスかと思って放置してあります(圧縮してあるし)β9
は落としてないのでなんともいえません。
[1165] onexitでシャットダウンできない 投稿者:junior 投稿日:05/06/24(金) 15:58
以下のソースを、2.6でexe化した場合はシャットダウンが完了
しますが、3.0β10でexe化したものだと完了しません。
修正は次版以降として、現版でシャットダウンを完了させる
方法(endのパラメタ指定等?)はありますでしょうか?
----ソース------
onexit goto *exit
screen 0
stop
*exit
end
----ここまで----
[1170] Re: onexitでシャットダウンできない 投稿者:junior 投稿日:05/06/27(月) 16:19
自己resです。
> 修正は次版以降として、現版でシャットダウンを完了させる
> 方法(endのパラメタ指定等?)はありますでしょうか?
>
> ----ソース------
> onexit goto *exit
> screen 0
> stop
> *exit
> end
> ----ここまで----
onexitを拾わずになすがままに終了した場合は、シャットダウンが
止まらないことから、onexitの処理固有の問題と仮定して、oncmd
でWM_DESTROYを拾えばなんとかなるのでは?と思って試してみま
した。
結果とりあえずうまくいったっぽいので報告します。
----ソース----
#define WM_DESTROY 0x0002
oncmd gosub *exit,WM_DESTROY
screen 0
stop
*exit
;ここに終了処理
return
----ここまで----
終了処理ではファイルにログを書き出す等の処理は可能のようです。
[1167] Re: onexitでシャットダウンできない 投稿者:Irisawa 投稿日:05/06/24(金) 16:44
> 以下のソースを、2.6でexe化した場合はシャットダウンが完了
> しますが、3.0β10でexe化したものだと完了しません。
> 修正は次版以降として、現版でシャットダウンを完了させる
> 方法(endのパラメタ指定等?)はありますでしょうか?
実行中にシャットダウンやログオフなどをしようとしてもできない
(プラグラム自体は終了する)ということですね。
# なお、もう一回やればできる。
本来はWinの終了は起動中のアプリを全部終了させてから終了させたほうが
いいのですが、この症状自体は恐らくバグだと思います。
WM_QUERYENDSESSIONの処理がうまくいっていないと思い対策を考えてみま
したが、うまくできませんでした。
WM_QUERYENDSESSIONを捕まえてrundll.exeで終了させるようにするとか
すればできる可能性がありますが確実ではなく(試していない)次回修正を
待った方がいいと思います。
一応、HSP Wikiに書いておいた方がいいでしょう。
http://www.nava21.ne.jp/~seiya/tips/win.htm
[1168] Re^2: onexitでシャットダウンできない 投稿者:junior 投稿日:05/06/24(金) 17:00
コメントありがとうございます。
> 実行中にシャットダウンやログオフなどをしようとしてもできない
> (プラグラム自体は終了する)ということですね。
>
> # なお、もう一回やればできる。
まさにその通りで、説明不足ですみません。
rundll.exe試してみます or 修正版を待ちます。
ありがとうございました。
[1169] Re^3: onexitでシャットダウンできない 投稿者:junior 投稿日:05/06/24(金) 17:19
HSP Wikiにもあげておきました。緊張しました。
[1166] Re: onexitでシャットダウンできない 投稿者:junior 投稿日:05/06/24(金) 16:32
情報が足りませんでした。
確認したOSはWindows xp-proです。
[1114] hgimg3と関数定義に関するバグ 投稿者:HaGU 投稿日:05/06/13(月) 15:40
hgimg3をインクルードすると、新規定義した関数が使えなくなりました。
使用したのは、hgimg3β4,HSP3.0β9です。
#include "hgimg3.as"
#module
#defcfunc half int a
return a/2
#global
screen 0,300,300
a =half(4)
mes "a="+a
stop
これを実行すると、
error30 "無効な名前がパラメーターに指定されています"
と出ます。
hgimg3をインクルードしなければ特に問題ありませんでした。
[1115] Re: hgimg3と関数定義に関するバグ 投稿者:Irisawa 投稿日:05/06/13(月) 21:03
> hgimg3をインクルードすると、新規定義した関数が使えなくなりました。
> 使用したのは、hgimg3β4,HSP3.0β9です。
(中略)
> これを実行すると、
> error30 "無効な名前がパラメーターに指定されています"
> と出ます。
原因はhgimg3.asの
#runtime "hsp3hg"
ですね。
HGIMG3のランタイムはまだ定義関数に非対応のため、解釈できずに
エラーを出すみたいです。
よくよく、考えるとこの仕様ではかなり面倒なことになりそうですね。
HSP本体がバージョンアップした際にはランタイムもバージョンアップ
しないと追加された機能などが使用できなくなります。
DLL(プラグイン)の形式で配布するのなら無問題ですが今までよりも
厳しくなりそうです。
(2.xでも拡張ランタイムの概念はありましたが3.0はもっと簡単に扱える
ようになっていますし)
本来なら、ランタイムのマシン語部分だけを切り取ってファイルにし
これをメモリ上などで展開して呼び出せれば解決するんですけど。
イメージ的には以下のようにマシン語の部分をスクリプトに埋め込むと
いう感じです。
http://yokohama.cool.ne.jp/chokuto/urawaza/mcn/
[1120] Re^2: hgimg3と関数定義に関するバグ 投稿者:HaGU 投稿日:05/06/15(水) 02:47
今晩は、Irisawaさん。
具体的な原因を示してくださってありがとうございます。
僕はプログラムが何やってるのか考えずに適当に使ってるので、勉強にな
ります。
>よくよく、考えるとこの仕様ではかなり面倒なことになりそうです
>ね。
>HSP本体がバージョンアップした際にはランタイムもバージョンアップ
>しないと追加された機能などが使用できなくなります。
仕方がないと言えば仕方がないですね。HSPとHGIMGの完全な同時進行は無
理ですし。
サポートされるのを気長に待ちます。他にもやることが一杯だし…orz
あと、報告として……
標準関数の中に、hgimg3が影響を与えているらしき関数がありました。
int関数ですが、hgimg3をインクルードすると$が付いた16進数は変換でき
なくなります。
;#include "hgimg3.as"
screen 0,300,300
a ="16"
b ="$21"
c ="0xff"
d ="%111"
e ="0b111"
mes int(a)
mes int(b)
mes int(c)
mes int(d)
mes int(e)
stop
もしかしたら、他にも影響を受けている関数があるかもしれません。
最後に質問ですが、何故2進数と16進数の書式が二通りずつあるのでしょう
か?
また、$付きの16進数書式の文字列は数値型に変換できて、もう一つの16進
数の書式が変換できない、そして、2進数は両方出来ないのは、バグなのか
それとも仕様なのでしょうか?
あまり、HSP3.0とは関係ない質問ですがお暇な方がいらっしゃれば、お願
いします…。
[1121] Re^3: hgimg3と関数定義に関するバグ 投稿者:Irisawa 投稿日:05/06/15(水) 11:37
> あと、報告として……
> 標準関数の中に、hgimg3が影響を与えているらしき関数がありました。
> int関数ですが、hgimg3をインクルードすると$が付いた16進数は変換でき
> なくなります。
これも、HGIMG3のランタイムが非対応のため(HSP3β9から対応)発生して
しまうみたいですね。
基本的に、現在のHGIMG3ランタイムはβ8のランタイムにHGIMGの機能を
追加したものですのでβ9からの新機能や仕様変更されたものなどはすべて
正常動作しません。
> 最後に質問ですが、何故2進数と16進数の書式が二通りずつあるのでしょう
> か?
> また、$付きの16進数書式の文字列は数値型に変換できて、もう一つの16進
> 数の書式が変換できない、そして、2進数は両方出来ないのは、バグなのか
> それとも仕様なのでしょうか?
$と%はHSP独自の記述でHSPではこちらの方が正式です。
(プリプロセッサに通すと上記に統一されます)
0xと0bのプレフィックスはCなどの他の言語との互換性のために導入された
記述と思われるので、HSPに置いては本当は正式なキーワードではありません。
($と%が残っているのは以前のバージョンとの互換性などのためともいえる
かもしれません)
0xプレフィックスの付いた文字列を数値に変換できないのは単純にint関数の
バグというか考慮されていないだけだと思います。
(文字列はプリプロセッサが処理しないので取り残されただけだと思います)
2進数(%と0b)が変換できないのは単純に考慮していなかったか需要がなかった
だけと思われます。
(めったに2進数文字列で記述したものを数値=intに変換することはないと
思われる)
統一性という面でも実装された方がいいんですけどね。
("0x"プレフィックスの変換が実装されていないのはぼくもちょっと疑問に
思っていました)
上記はすべて、予想ですので間違いがあるかもしれません。
[1123] Re^4: hgimg3と関数定義に関するバグ 投稿者:Irisawa 投稿日:05/06/15(水) 13:18
> 2進数(%と0b)が変換できないのは単純に考慮していなかったか需要がなかった
> だけと思われます。
> (めったに2進数文字列で記述したものを数値=intに変換することはないと
> 思われる)
一応、2進数文字列を数値(バイナリ)に変換するサンプルを書いてみました。
buf = "101"
sum = 0
len = strlen(buf)
counter = len - 1
repeat len
binary = int(strmid(buf, cnt, 1)) ; 2進数を取り出す
binary <<= counter ; ビットシフト
sum += binary
counter--
loop
mes sum
stop
動作保証まではしません。
また、以下のソフトのHSPスクリプトを参考にさせてもらいました。
(HSP3に移植しました)
http://www.vector.co.jp/soft/win95/util/se184738.html
[1163] Re^5: hgimg3と関数定義に関するバグ 投稿者:HaGU 投稿日:05/06/23(木) 17:34
返信遅れてすみません。Irisawaさん。
中間試験とレポートに泣いてましたorz
>$と%はHSP独自の記述でHSPではこちらの方が正式です。
>(プリプロセッサに通すと上記に統一されます)
>0xと0bのプレフィックスはCなどの他の言語との互換性のために導入さ
>れた
>記述と思われるので、HSPに置いては本当は正式なキーワードではあ
>りません。
なるほど、そうだったのですね。
勉強になります。というかHSPの歴史を感じますねw
hgimg3β5ではちゃんと関数が定義できたのでホッしました。
サンプルまで組んで下さって、ありがとうございました。
[1162] XモデルのUVアニメ 投稿者:cbird 投稿日:05/06/23(木) 13:53 <URL>
HGIMG3にて、XモデルのUVアニメ(又はテスクチャーの張替え)がで
きる命令はあるのでしょうか?
uvanim命令がそれに相当するのかと思ったのですが命令の詳細がみ
つかりませんでした。
もし無いようでしたら検討していたたければ幸いです。
ローポリのキャラの顔や、背景の川など使用用途は多いと思います
。
[1081] カメラとライトの質問 投稿者:cbird 投稿日:05/06/01(水) 14:10 <URL>
カメラなのですがディフォルトだと、大体800ぐらいの距離でクリッ
ピングされてしまいます。クリッピングの距離(ニア、ファー)やパ
ースの強さを変更する命令はあるのでしょうか?
ライトは「hgimg3.txt」には
>ラストオブジェクトの時のみ、グループdirがライト色、グルー
プ
>scaleがアンビエント色のパラメーターとして使用されます。
とあるのですが。
setdir HGOBJ_LIGHT,1,0,0
でアンビエントライトの色が変わって見え
setscale HGOBJ_LIGHT,0,1,1
は特に変化がみられませんでした。
最初はScaleがアンビエントの色で、Dirが平行ライトの色かと思っ
ていたのですが違ったようです。誠にお手数とは思いますが、もしよ
ろしければ詳しく解説していただければ幸いです。
[1128] Re: カメラとライトの質問 投稿者:おにたま(管理人) 投稿日:05/06/16(木) 23:03
>カメラなのですがディフォルトだと、大体800ぐらいの距離でクリッ
>ピングされてしまいます。クリッピングの距離(ニア、ファー)やパ
>ースの強さを変更する命令はあるのでしょうか?
現在、この機能は未実装ですが、近いうちにHGIMGと同様に、
hgsetreq命令で設定できるようにする予定です。
>最初はScaleがアンビエントの色で、Dirが平行ライトの色かと思っ
>ていたのですが違ったようです。誠にお手数とは思いますが、もしよ
>ろしければ詳しく解説していただければ幸いです。
すみません、光源の情報がまだ正しく反映されていないようです。
次のバージョンでは修正したいと思います。
ちなみにdirがライト色、scaleがアンビエント色で合っています。
[1148] Re^2: カメラとライトの質問 投稿者:cbird 投稿日:05/06/21(火) 19:24 <URL>
> すみません、光源の情報がまだ正しく反映されていないようです。
> 次のバージョンでは修正したいと思います。
> ちなみにdirがライト色、scaleがアンビエント色で合っています。
新しくなったhgimg3β5にてライトのテストを色々やってみました。
・アンビエント色は変わらず反映されてないようです。
・hgimg3.txtによるとライト色の値は0〜1.0とのことですがディフォルト
のライト色には256が入っています0〜256が正解なのでしょうか?
・ライト色のR(レッド)だけ256を超える値を入れてやると光の領域が増
えています(アンビエントを強くした症状に似ています)。
下のような使い方をしてるのですが(変数の値は違います)
何か書式が間違って勘違いをしていたらすいません
;----------------------------------------------
lcr=256:lcg=256:lcb=256
setdir HGOBJ_LIGHT,lcr,lcg,lcb
ar=1.0:ag=1.0:ab=1.0
setscale HGOBJ_LIGHT,ar,ag,ab
;----------------------------------------------
[1157] Re^3: カメラとライトの質問 投稿者:おにたま(管理人) 投稿日:05/06/23(木) 00:44
>新しくなったhgimg3β5にてライトのテストを色々やってみました。
>・アンビエント色は変わらず反映されてないようです。
>・hgimg3.txtによるとライト色の値は0〜1.0とのことですがディフォルト
>のライト色には256が入っています0〜256が正解なのでしょうか?
すみません。β5でまだライトおかしかったですね。
度々変更して申し訳ありません。β6版では、以前のHGIMGに合わせて、
scaleがライト色、dirがアンビエントという形にしました。
ライト色も0〜255に統一しています。
[1161] Re^4: カメラとライトの質問 投稿者:cbird 投稿日:05/06/23(木) 13:41 <URL>
> scaleがライト色、dirがアンビエントという形にしました。
> ライト色も0〜255に統一しています。
β6にてライトを試したのですが、ライトとアンビエントを強くしていく
と白く飽和していくのは仕様でしょうか。
テクスチャーを張ったものはその本来のテクスチャー以上に明るくなるこ
とはないのですが、ポリゴンカラーのものはどんどん白くなりました。ポリ
ゴンカラーも本来の色が明るさの限界かと思ったのですが。
[1041] hgimg3のXファイル読み込みとモーションについて 投稿者:Drip 投稿日:05/05/22(日) 02:29
初めまして。私はDripと申します。
最近hgimg3を、色々と試しているのですが、
どうもXファイルの読み込みが正常に行われないようです。
付属サンプルのXファイルは大丈夫なのですが、
メタセコイアで作成されたXファイルについてはテクスチャが全て消えてしまい、
他のソフトで作成されたXファイルでは、全く何も表示されなかったり、
テクスチャが全て飛んでしまったりと、様々な表示結果が現れました。
(勿論面の反転や拡大率等の設定は各ソフト側、HSP側で正しく
設定しています。)
どうやら各ソフトが出力するXファイルの状態によって、
表示にばらつきがあるようです。また、X形式のボーン付きモーション
を作成することは、HSPの「初心者でも手軽に作成できる」という
クオリティを損ねてしまっている気もします。
こうしたXファイルの読み込み不良や、モーションデータ作成の
敷居を低くするためにも、複数のモデルファイル(HSP独自のmx形式など)
から頂点位置の移動を補間してモーションを表示するようなことはできないでしょうか。
(下図のようなイメージです)
モデル1 モデル2
中間
○ 補間 ○/
 ̄T ̄ →  ̄T
/\ /\
これであればモデルの作製環境は問いませんし、現行バージョンでも問題なく
表示されているmx形式を使用できれば、信頼性も高まると思うのですがいかがでしょうか。
(勿論データ容量をやたら浪費しますが、手軽で滑らかなモーションとして
割り切って使用することはできると思います。)
ご意見をいただければ幸いです。
[1065] Re: hgimg3のXファイル読み込みとモーションについて 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:46
> どうやら各ソフトが出力するXファイルの状態によって、
>表示にばらつきがあるようです。また、X形式のボーン付きモーション
>を作成することは、HSPの「初心者でも手軽に作成できる」という
>クオリティを損ねてしまっている気もします。
ご意見ありがとうございます。
xファイルによって表示にばらつきが出るのは、HGIMGが原因の場合もありますし、
DirectXのバージョン違いや不具合によるものもあると思います。
現状でまだ手がまわっていませんが、mxファイル等のサポートも引き続き
行なっていく予定ですので、長い目で初心者から上級者まで広く使えるような
プラグインに育っていってくれればと考えています。
ちなみに、まだ確認はしていませんが、「gameSpace Light」という
フリーのツールでも、xファイル及びボーンアニメーションの作成が
可能なようです。(無料版にはいくつかの制限がありますが。)
http://www.caligari.com/gamespace/gsl/gsL.asp
> こうしたXファイルの読み込み不良や、モーションデータ作成の
>敷居を低くするためにも、複数のモデルファイル(HSP独自のmx形式など)
>から頂点位置の移動を補間してモーションを表示するようなことはできないでしょうか。
これは、モーフィングとかシェープアニメーションと呼ばれる手法だと
思いますが、場合によっては有効だし分かりやすいと思います。
mxファイルのサポートとともに将来的には検討していきたいところです。
[1043] Re: hgimg3のXファイル読み込みとモーションについて 投稿者:HaGU 投稿日:05/05/22(日) 03:07
これは僕の個人的意見なのですが…
hgimg3はまだβ版です。現在、βユーザーの報告によって信頼性を高めて
いる途中だと思うのです。
>X形式のボーン付きモーション
> を作成することは、HSPの「初心者でも手軽に作成できる」という
> クオリティを損ねてしまっている気もします。
これは「モーションを作るのが初心者向きではない」という事であって、H
SPによるファイル管理やプログラミングは、むしろMX形式を使うより楽にな
っていると思います。
(なにしろ、僕自身がMX形式を未だに理解して無いですし…)
確かに、今は「X形式のボーン付きモーション」は難しいかも知れません
が、X形式を使う人が増えれば自然と情報量も増えるので、難易度は下がる
と思うんですが…。
駄文失礼しました。
[1047] Re^2: hgimg3のXファイル読み込みとモーションについて 投稿者:Drip 投稿日:05/05/22(日) 05:29
HaGU様、ご意見有難うございます。
> hgimg3はまだβ版です。現在、βユーザーの報告によって信頼性を高めて
> いる途中だと思うのです。
私の文章が悪かったようですみません。
X形式は、他の前記事にもあるように、生成されるソフトや設定によって、
微妙に違うものが出来たり、様々な形で生成されるので、表示に不具合や
微妙な差が発生することもあるようなのです。このような複雑な形式を
初心者が扱うには敷居が高く、またあらゆるX形式をHSPが把握し
対応するのは、おにたま様への負荷も大きくなるのではないかと思ったのです。
> これは「モーションを作るのが初心者向きではない」という事であって
それは違うのではないでしょうか。
モーションを作ることは初心者向きではないからと言って作らないようでは、
いつまで経っても前進しない思います。かと言って初心者がいきなり
Direct3Dの専門書やLightWave等を購入するのは抵抗がありますよね。
アマチュア作家でも、モーションを作ってHSPで動かせる糸口が
あれば、上級者へ前進するための道が開けると思います。
> HSPによるファイル管理やプログラミングは、むしろMX形式を使うより楽にな
> っていると思います。
それは勿論その通りだと思います。DirectXを使用して描画しているのですから、
X形式を使用することでスマートなプログラムで円滑な動作を期待できるでしょう。
> 確かに、今は「X形式のボーン付きモーション」は難しいかも知れません
> が、X形式を使う人が増えれば自然と情報量も増えるので、難易度は下がる
> と思うんですが…。
X形式のボーン付きモーションデータは、簡単なものでも
ン万円を支払って専門のソフトを購入し、そなりの環境を整えないと
作れないため、初心者にはかなり敷居が高いのではないか、と考えました。
フリーウェアでもX形式出力に対応したものが稀にありますが、
私の知る範囲では、現在HSPから正常に読み込めるものが見当たりません。
これからX形式を使用する人が増える‥というか、DirectXの世界でX形式は
最もメジャーな形式ですので、既に世界中で使用されている形式なのですが、
ボーンの入ったモーション付きXファイルの作成は、未だにかなりのコストが
伴うようです。
HaGU様の仰せられますように、X形式は管理や扱いが楽で、いくら難易度が下がったとしても、
作成や読み込みが出来ないようではお手上げではないか‥と思うのですがいかがでしょうか。
前回の案は、そうした事情を踏まえた意見だったのですが‥。
[1048] Re^3: hgimg3のXファイル読み込みとモーションについて 投稿者:911 投稿日:05/05/22(日) 06:03 <URL>
割り込み失礼します。
β版ですので見守ることを前提に自分なりの解釈を書かせてもらいます。
私も.x形式になったことを期待していましたが…あることを忘れてました。
.x形式のモーションエディタや設定は敷居が高いってことです。
フリーで出ているモーションエディタではMIKOTO→BVH→flagMotionのような変換が増えてしまってややこしいです。
3D編集ソフトを買って試したのですがモーションしかりモデル表示がされませんでした。
もしかすると【手軽に3Dが扱える】というスタンスが怪しくなります。
ですが、【クリオティが高い】【表現力】では素晴らしい恩恵を与えるとも感じてます。
がんばってください。
[1051] Re^4: hgimg3のXファイル読み込みとモーションについて 投稿者:おちっこ(影武者) 投稿日:05/05/22(日) 12:10
こんにちは。
ボーンモーション作成ツールを作成している、おちっこと申します。
宣伝になってしまうかもしれませんが、
Xファイルは、RokDeBone2 と、RDB2Xの組み合わせでも、作れますよ。
(どちらも、まだ、発展途上ですが。)
まだ、他にやることがたくさんあるのと、
新しいHGIMGの仕様をよく知らないので、断言は出来ませんが、
できることなら、
RokDeBone2で、HGIMGのサポートも出来たら、いいなぁ、などと、考えています。
ただ、HGIMGはDX8、RDB2XはDX9なので、その辺の違いが、どれほど深刻なのかも
、
わかっていない状態ですが。。。
何か、協力できたらいいな、と、思っています。
HGIMGの使い方とか、よく、分かっていないので、
分かる方が、テストなどをしていただけたら、うれしく思います。
ちなみに、今のバージョンのRDB2Xでは、
モーションデータを適応しないと、正常に、表示されません。
(モーション無しには、まだ、対応できてません。)
また、形状読み込み時に、0.001倍程度にしないと、大きすぎて、表示されないと
思
います。
#あ、あと、「このホストからの書き込みは禁止されています」みたいなエラー
が出
るので、
#この書き込みは、知人に頼んで、コピペしてもらったものです。
RokDeBone2に関するご意見などは、
http://www5d.biglobe.ne.jp/~ochikko/
で、お願いいたします。
[1066] Re^5: hgimg3のXファイル読み込みとモーションについて 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:46
>こんにちは。
>ボーンモーション作成ツールを作成している、おちっこと申します。
>宣伝になってしまうかもしれませんが、
>Xファイルは、RokDeBone2 と、RDB2Xの組み合わせでも、作れますよ。
>(どちらも、まだ、発展途上ですが。)
>まだ、他にやることがたくさんあるのと、
>新しいHGIMGの仕様をよく知らないので、断言は出来ませんが、
>できることなら、
>RokDeBone2で、HGIMGのサポートも出来たら、いいなぁ、などと、考えています。
どうも、書き込みありがとうございます。
RokDeBone2とHGIMG3の組み合わせは、まだこちらでは検証していませんが、
そのまま使えるようになれば、ユーザーにとっても非常に利便性が上がると思います。
ご提案頂き嬉しいです(^^
>#あ、あと、「このホストからの書き込みは禁止されています」みたいなエラーが出るので、
>#この書き込みは、知人に頼んで、コピペしてもらったものです。
お手数かけてしまってすみません。
少し制限を変更してみたいと思います。
[1083] Re^6: hgimg3のXファイル読み込みとモーションについて 投稿者:おちっこ 投稿日:05/06/04(土) 10:08
こんにちは。
> >RokDeBone2で、HGIMGのサポートも出来たら、いいなぁ、などと、考えています。
ユーザーさんに、協力してもらい、RokDeBone2 + RDB2X と、HGIMG3との連携のテストをしてみました。
テストに使用したXファイルは、
http://www5d.biglobe.ne.jp/~ochikko/temp/testxfile.zip
です。
色々、クリアーしなければならない点は、ありそうですが、
まずは、2点ほど、報告させていただきます。
1、頂点単位の色
RokDeBone2では、Easy3Dが、頂点単位の色設定をサポートしている関係で、
表示色は、頂点単位で設定しています。
面のマテリアルには、白色を指定し、
頂点フォーマットに、表示色のdiffuseを追加しています。
HGIMG3で、頂点単位の色をサポートの予定は、おありでしょうか??
もし、無いようでしたら、
完全な互換性は、失われてしまいますが、
RDB2Xで、頂点単位の色を、面単位のマテリアルに変換するような、オプションを付けたいと思います。
2、表示されないパーツがある。
今回、テストしたXファイルでは、HGIMG3で、表示されないパーツ(スキンメッシュ)がありました。
猫の顔の部分です。
ReplacedName6_PM2 という名前のパーツです。
表示面を反転させて、出力してみましたが、それでも、表示されないので、
裏表の、問題では、無いようです。
使用したXファイルは、DirectX9のMeshViewで、正常に表示されることを確認していますが、
もし、なにか、ぼくのXファイルに不備があるようでしたら、
ご指摘いただけると、ありがたいです。
よろしくお願いいたします。
[1129] Re^7: hgimg3のXファイル読み込みとモーションについて 投稿者:おにたま(管理人) 投稿日:05/06/16(木) 23:03
RokDeBone2の製作と、HGIMG3との連携お疲れさまです。
>1、頂点単位の色
について、将来的には頂点単位の色も視野に入れたいと考えていますが、
すぐにサポートする予定はありません。
もし、面単位のマテリアルをサポートして頂けるようであれば、是非とも
お願いしたいところです。
>2、表示されないパーツがある。
Xファイルに不備はないみたいなのですが、どうも表示されませんね。
他のスキンメッシュが出ているのがまた謎です。
何かわかったらまたお知らせしたいと思います。
[1134] Re^8: hgimg3のXファイル読み込みとモーションについて 投稿者:おちっこ 投稿日:05/06/17(金) 08:11
こんにちは。
> >1、頂点単位の色
> 将来的には頂点単位の色も視野に入れたいと考えていますが、
> すぐにサポートする予定はありません。
了解しましたです。
ではでは、さっそく、明日あたりから、
頂点色を、面のマテリアルに変換して、出力するオプションを作るのに、取り掛かります。
> >2、表示されないパーツがある。
> 何かわかったらまたお知らせしたいと思います。
調べていただいて、どうも、ありがとうございます。
よろしくお願いいたします。
[1146] Re^9: hgimg3のXファイル読み込みとモーションについて 投稿者:おちっこ 投稿日:05/06/19(日) 17:56
こんにちは。
HGIMG3(beta5)のテストを、していました。
RokDeBone2 + RDB2X のデータのうち、表示できないパーツがある件ですが、
条件が絞り込めました!!
どうやら、スキニングを無効にしているパーツが、表示できないようです。
つまり、パーツ全体が、1つの(1つだけの)ボーンの影響を受け、
その影響度が、1.0のときに、表示できなくなるようです。
何個かのパーツで試してみましたが、
いまのところ、全てで再現します。
頂点色-->面マテリアル変換の件も、近日中に、リリースできると思います。
ではでは、何かの参考になれば、幸いです。
よろしくお願いいたします。
[1156] Re^10: hgimg3のXファイル読み込みとモーションについて 投稿者:おにたま(管理人) 投稿日:05/06/23(木) 00:44
>どうやら、スキニングを無効にしているパーツが、表示できないようです。
>つまり、パーツ全体が、1つの(1つだけの)ボーンの影響を受け、
>その影響度が、1.0のときに、表示できなくなるようです。
ご報告ありがとうございます。
その通りでした(^^; β6版では修正しています。
[1159] Re^11: hgimg3のXファイル読み込みとモーションについて 投稿者:おちっこ 投稿日:05/06/23(木) 12:33
> β6版では修正しています。
どうも、対応していただき、ありがとうございます。
ちゃんと、表示できることを、確認いたしました!
[1149] Re^10: hgimg3のXファイル読み込みとモーションについて 投稿者:cbird 投稿日:05/06/21(火) 19:44 <URL>
> つまり、パーツ全体が、1つの(1つだけの)ボーンの影響を受け、
> その影響度が、1.0のときに、表示できなくなるようです。
えーと、ボーンが複数でも1つの頂点が1つのボーンの影響しかうけない
状態(リジッドスキン)ですべてが構成されたモデルは表示できませんでし
た。これは仕様かと思っていたのですが、不具合なんでしょうか?
[1053] Re^5: hgimg3のXファイル読み込みとモーションについて 投稿者:HaGU 投稿日:05/05/22(日) 13:58
>X形式のボーン付きモーションデータは、簡単なものでもン万円を支払
って専門のソフトを購入し、そなりの環境を整えないと
作れないため、初心者にはかなり敷居が高いのではないか、と考えました
。
> フリーウェアでもX形式出力に対応したものが稀にありますが、私
の知る範囲では、現在HSPから正常に読み込めるものが見当たりまん。
X形式のボーン付きモーションデータはの編集ソフトってそんなにするの
ですか…すいません、知りませんせんでしたorz
僕はDoGA-L1でデータをつくってて問題なかったり、おちっこさん(ごめん
なさい、いつも楽しくROMってますw)のRokDeBone2を知っていたので、あ
る程度HSPが使えるならボーン付きモーションを作るのはそれほど難しく無
いだろうと勘違いしていたようです。
無知な丸出しな発言すいませんでした。
[1152] strmid命令の取り出す文字数について 投稿者:ranran 投稿日:05/06/21(火) 20:43
strmid命令の取り出す文字数を2039文字以上にするとDebugウインド
ウで取り出すもとの文字列が格納されている変数、又は、取り出した
文字列が格納されている変数の値を確認すると
buffer overrun detected!
と書かれたエラーメッセージみたいのが出ます。
[1089] HSP3.0β9を公開しました 投稿者:おにたま(管理人) 投稿日:05/06/06(月) 20:09
β版ダウンロードページにて、HSP3.0β9を公開しました。
こちらの掲示板や、バクトラッキング等で不具合の報告頂きありがとうございます。
そろそろRC版に向けて色々な調整に入っていきたいと考えています。
皆さんから頂いた要望や報告の中で一部まだ実装していないものもありますが、
残りの期間とも併せて取捨選択を行なっていこうと考えています。
今のところ、以下の機能については、作業の期間的な問題により3.0版のリリース時
ではなく将来のバージョンでの対応を検討しています。
・ラベル型変数
・スクロールバー付きのウインドゥサポート
・プログラム実行可能領域メモリ確保の内蔵(alloc)
・連想配列を含む汎用データ型の変数
・API向けコールバック関数のサポート
・外部APIの戻り値サポート(float、double等)
・リソースセクションの再構成及びアイコン書き換え
これらについては、時間が許せばいくつかは対応していきたいところなのですが、
時間ギリギリまで機能を拡張し続けるよりも、現状の基本機能を安定して
利用できるようにしたバージョンを先にリリースすることが長い目で見て
有益ではないかと考えています。
引き続き不具合やマニュアル類のミスなどお知らせ頂けると嬉しいです。
[1102] Re: HSP3.0β9を公開しました 投稿者:くに 投稿日:05/06/10(金) 01:23 <URL>
こんにちは、おにたまさん。くにです。
お聞きしたいことがあります。
> 今のところ、以下の機能については、作業の期間的な問題により3.0版のリリース時
> ではなく将来のバージョンでの対応を検討しています。
この将来のバージョンというのは、3.1のことなのでしょうか?
それとも、4.0のことなのでしょうか?
> ・プログラム実行可能領域メモリ確保の内蔵(alloc)
これは、どういう機能なのでしょうか?
evalのようなものなのでしょうか?
> これらについては、時間が許せばいくつかは対応していきたいところなのですが、
> 時間ギリギリまで機能を拡張し続けるよりも、現状の基本機能を安定して
> 利用できるようにしたバージョンを先にリリースすることが長い目で見て
> 有益ではないかと考えています。
安定版をリリースすることは分かりましたが、
それと平行して、要望されている機能を実装したHSPの開発は
続けていただけるということでいいのでしょうか?
[1116] Re^2: HSP3.0β9を公開しました 投稿者:Irisawa 投稿日:05/06/13(月) 21:09
> この将来のバージョンというのは、3.1のことなのでしょうか?
> それとも、4.0のことなのでしょうか?
HSP3での対応を検討していたことからHSP3の今後のバージョンで...と
いうことではないでしょうか。
(それがHSP3.1になるのか3.01とか3.2とかなどの正確なバージョンは
未定ということで)
> > ・プログラム実行可能領域メモリ確保の内蔵(alloc)
> これは、どういう機能なのでしょうか?
> evalのようなものなのでしょうか?
β8までのallocにあった機能の互換ではないでしょうか。
β9からマクロに変更されているために機能がなくなっています。
> 安定版をリリースすることは分かりましたが、
> それと平行して、要望されている機能を実装したHSPの開発は
> 続けていただけるということでいいのでしょうか?
今回のでHSPの開発を終了するというわけではないでしょうから、
今まで通り開発も継続されると思います。
ただ、どれも個人的な考えですので間違っているかも知れません。
[1112] Re^2: HSP3.0β9を公開しました 投稿者:Shark++ 投稿日:05/06/12(日) 11:46
Shark++です
> > ・プログラム実行可能領域メモリ確保の内蔵(alloc)
> > これは、どういう機能なのでしょうか?
> evalのようなものなのでしょうか?
これはあれじゃないですか、XPのSP2で強化されたデータ実行防止機能の回避策
ちょくとさんのxdimの実装と言う事ではないですか
[1118] Re^3: HSP3.0β9を公開しました 投稿者:くに 投稿日:05/06/14(火) 22:21 <URL>
Shark++さん、Irisawaさん、お返事ありがとうございます。
xdimのほうは、ちょくとさんのページを調べて分かったのですが、
allocの方の機能は、どういったものなのでしょうか?
度重ねの質問ですいません。
allocは、dimや、sdimと同程度のものと思っていたのですが、
それ以外の機能があるのでしょうか?
[1126] Re^4: HSP3.0β9を公開しました 投稿者:ちょくと 投稿日:05/06/16(木) 17:00
alloc 命令ではオプション指定で実行可能領域を確保できるようになる
予定だったのですが、その機能の実装が先送りされたということです。
[1147] Re^5: HSP3.0β9を公開しました 投稿者:くに 投稿日:05/06/19(日) 19:14 <URL>
ちょくとさん、お返事ありがとうございます。
> alloc 命令ではオプション指定で実行可能領域を確保できるようになる
> 予定だったのですが、その機能の実装が先送りされたということです。
つまり、allocの機能とは、xdimの機能と同じものと言うことでよろしいですよね。
[1139] HSP3.0でのオブジェクトの移動 投稿者:風車 投稿日:05/06/18(土) 09:29
今までHSP2でプログラミングをしていたのですが、HSP3では
objsendが廃止され代わりの命令が作られました。
しかし、説明を読んでも従来のobjsend命令で行われていたのと
同じことができません。
input命令で作成したようなオブジェクトなどの移動は
HSP3ではどのようなコードになるのでしょうか。
[1145] Re: HSP3.0でのオブジェクトの移動 投稿者:Irisawa 投稿日:05/06/18(土) 20:23
> 今までHSP2でプログラミングをしていたのですが、HSP3では
> objsendが廃止され代わりの命令が作られました。
> しかし、説明を読んでも従来のobjsend命令で行われていたのと
> 同じことができません。
> input命令で作成したようなオブジェクトなどの移動は
> HSP3ではどのようなコードになるのでしょうか。
オブジェクトの移動というのはどういう事でしょうか。
sendmsg命令のp1はオブジェクトIDではなくウィンドウハンドルですよ。
HSPウィンドウのウィンドウハンドルはシステム変数のhwndで、
HSPオブジェクトのウィンドウハンドルはobjinfo関数で取得できます。
[1140] このファイルって、 投稿者:ISHIDA 投稿日:05/06/18(土) 09:39
HGIMG 3.0β版ダウンロードページのファイル構成のところにて、
hgimg3.txt (このファイル)
となっているのは変だと思います。
HGIMG3リファレンスとなるのが妥当だと思います。
[1144] Re: このファイルって、 投稿者:Irisawa 投稿日:05/06/18(土) 20:19
> HGIMG 3.0β版ダウンロードページのファイル構成のところにて、
> hgimg3.txt (このファイル)
> となっているのは変だと思います。
> HGIMG3リファレンスとなるのが妥当だと思います。
そうですね〜。
これは、テキストをそのままコピーしたためのようです。
毎回毎回そこだけ書き直すのは大変でしょうし、難しいところですね。
[1136] (削除) 投稿者:(削除) 投稿日:05/06/17(金) 22:46
(削除されました)
[1138] Re: TAN()関数について 投稿者:LonelyWolf 投稿日:05/06/18(土) 03:09
> TAN関数なのですが、角度を1/2π(90°)等とした際、
> 数学的には本来、値をとらないはずですが大きな数が
> 帰ってきます(一律)。
> これは、C言語の関数などを利用している関係だと思いますが
> エラーを出したりlogf(0)みたいなものを返したり(?)
> 値を返さないようにしたほうが良いかと思いますがいかがですか?
数学的にも間違ってないと思いますよ。
3.1415…(適当な桁数まで。)/2であって、π/2ではありませんから。
tanθが値をとらないのは、θ=π/2,3π/2(0≦θ<2πの範囲では)ぴったりのときだけですよね。
NaN(非実数)を返すという実装も厳しいと思います。
どこまでをπ/2と認めるのか(3.14/2,3.141/2, 3.1415/2, …)、など
問題があります。
[1143] Re^3: TAN()関数について 投稿者:阿呆 投稿日:05/06/18(土) 18:18
> しかし、hspmath.asの中に角度をラジアンに変換する関数が入って
> いるので、ユーザはこの辺で混乱してしまうと思います。
> HSP3が適当な桁数までしか計算できないので仕方ないかと思いますが
混乱してるのはお前だけだ。そんなことでいちいちエラー返してたら、
ソース組むのが面倒だろ!
[1124] β9にてif文 投稿者:ACE 投稿日:05/06/15(水) 18:42
もし概出ずみだったら本当にごめんなさい(一応探しました)
stick key,15
selpos BOXOBJ1
if key&1=1 :objaddf3 -0.1f,0.0f,0.0f
if key&2=2 :objaddf3 0.0f,0.0f,-0.1f
if key&4=4 :objaddf3 0.1f,0.0f,0.0f
if key&8=8 :objaddf3 0.0f,0.0f,0.1f
というプログラムでキーを押すと
全部実行されます
これは仕様変更されたのですか?
README読んだけど書いてなかったもので
[1125] Re: β9にてif文 投稿者:ちょくと 投稿日:05/06/16(木) 16:54
演算順序が変わっているせいみたいですね。
if (key&1)=1 :objaddf3 -0.1f,0.0f,0.0f
ならうまくいくと思います。もしくは
if key&1 :objaddf3 -0.1f,0.0f,0.0f
とするとか。
[1137] Re^2: β9にてif文 投稿者:ACE 投稿日:05/06/18(土) 00:57
ちょくと さん、ありがとうございました。
演算順序が原因だとは・・・
=が優先されているわけですよね?たぶん
[1079] HGIMG3.0β4でのアニメきりかえ 投稿者:cbird 投稿日:05/05/31(火) 13:51 <URL>
アニメの切り替えを色々ためしていたところ動作の変なところがあり
ましたので報告です。
a_sp=1000;アニメ速度
if key&1 : objspeed obj1,a_sp:objact obj1,2,0 ;基本速度で
再生
if key&2 : objspeed obj1,a_sp:objact obj1,2,1 ;1000で再生
if key&4 : objact obj1,2,0 : objspeed obj1,a_sp ;1000で再
生
if key&8 : objact obj1,2,1 : objspeed obj1,a_sp ;1000で再
生
となりました、問題は三行目です、先にアニメの速度を変更して、
その後にアニメを切り替えているのに速度が1000のままでした。
本来は基本速度に戻るべきだと思われます。アニメの切り替えがmode
(1)のときのみ発生しました。
それとmodelspeed命令なのですが、オブジェクトの登録時以外にも
全ての速度を変更できるようにはできないでしょうか?
できるとキャラクターがゆっくりになるとか、加速するとか出来て
面白いのですが。
[1127] Re: HGIMG3.0β4でのアニメきりかえ 投稿者:おにたま(管理人) 投稿日:05/06/16(木) 23:02
>先にアニメの速度を変更して、その後にアニメを切り替えているのに
>速度が1000のままでした。
>本来は基本速度に戻るべきだと思われます。アニメの切り替えがmode
>(1)のときのみ発生しました。
ご報告ありがとうございます。修正したいと思います。
>それとmodelspeed命令なのですが、オブジェクトの登録時以外にも
>全ての速度を変更できるようにはできないでしょうか?
>できるとキャラクターがゆっくりになるとか、加速するとか出来て
>面白いのですが。
ちょっと意味がわからなかったのですが、全ての速度というのは
登録済みのオブジェクトで同じモデルを参照しているものという意味
でしょうか?
[1135] Re^2: HGIMG3.0β4でのアニメきりかえ 投稿者:cbird 投稿日:05/06/17(金) 11:26 <URL>
> >それとmodelspeed命令なのですが、オブジェクトの登録時以外にも
> >全ての速度を変更できるようにはできないでしょうか?
> >できるとキャラクターがゆっくりになるとか、加速するとか出来て
> >面白いのですが。
> > ちょっと意味がわからなかったのですが、全ての速度というのは
> 登録済みのオブジェクトで同じモデルを参照しているものという意味
> でしょうか?
たとえばですが
addxfile m_xmodel1,"mo_anim_test01.x"
addxanim m_xmodel1,"mo_anim_test02.x"
modelspeed m_xmodel1,1000
regobj obj1, m_xmodel1
とした後で、モデルスピードが1000になったobj1のアニメ全ての速度を
変更できないかなと思ったんですが・・・
よく考えたらあまり必要ありませんね・・・
徐々に速度を変えるのも
if a_sp>0 : a_sp=a_sp-10
objspeed obj1,a_sp
を毎フレーム呼んでやれば、解決でした・・・
[1111] 3dsmaxで出力したXファイル再生ついて 投稿者:medogek 投稿日:05/06/12(日) 11:33
おにたまさん、こんにちは。
HGIMG3のアニメ再生についてですが、
LWならいいと聞いたのですが出力プラグインDX3D_132に
入っているapewalkのサンプルはアニメが再生されないん
ですけど・・・。
また、3dsmaxで出力したXファイルは再生はもちろん表示すら
うまくいかないようです。
VerはHGIMG30b4です。
[1132] Re: 3dsmaxで出力したXファイル再生ついて 投稿者:おにたま(管理人) 投稿日:05/06/16(木) 23:05
>HGIMG3のアニメ再生についてですが、
>LWならいいと聞いたのですが出力プラグインDX3D_132に
>入っているapewalkのサンプルはアニメが再生されないん
>ですけど・・・。
お手数おかけしてすみません。
LWについては、出力されるxファイルの形式をtextにして試してみて下さい。
3dsmaxでは、まだ検証していませんが、ファイルの形式などによっては
正常に動作しないものがあるようです。
[1107] HSPのHGIMG3の要望 投稿者:rinda 投稿日:05/06/11(土) 18:24
HSPの「HGIMG3」のプラグインに「音声認識」と「音声合成」機能
をつけて欲しいのですが・・・・
[1131] Re: HSPのHGIMG3の要望 投稿者:おにたま(管理人) 投稿日:05/06/16(木) 23:05
>HSPの「HGIMG3」のプラグインに「音声認識」と「音声合成」機能
>をつけて欲しいのですが・・・・
HGIMG3は、画像処理を行なうプラグインですので、
音声に関する機能は今のところサポートする予定がありません。
他の方法による実現を探してみることをお勧め致します。
[1087] 要望なのですが 投稿者:umino 投稿日:05/06/06(月) 17:55
HGIMGで要望なのですが、ワールド座標4点を指定してポリゴンを生成するような命令は可能でしょうか。
また、モデルの頂点移動による変形ができたらなと思っております。
モデルデータを状況に応じてリアルタイムで変形させたいのです。
勝手な要望で申し訳ありませんが、可能でしたら検討いただきたいと思います。
[1130] Re: 要望なのですが 投稿者:おにたま(管理人) 投稿日:05/06/16(木) 23:04
>HGIMGで要望なのですが、ワールド座標4点を指定してポリゴンを生成するような命令は可能でしょうか。
>また、モデルの頂点移動による変形ができたらなと思っております。
>モデルデータを状況に応じてリアルタイムで変形させたいのです。
HGIMGで良ければ、addplateなどで生成したポリゴンの頂点は
dupnodeなどを使用すれば変形できなくもありません。
HGIMG3については、今のところできませんが、将来的には
内部データへのアクセス手段は入れたいと考えています。
[1108] バグ? 投稿者:kuro 投稿日:05/06/11(土) 21:00
文字列型配列変数をbsaveでファイルに書き出すと0番目にある文字列しか書き出されません。
これはバグでしょうか?
[1109] Re: バグ? 投稿者:Irisawa 投稿日:05/06/12(日) 09:18
> 文字列型配列変数をbsaveでファイルに書き出すと0番目にある文字
> 列しか書き出されません。
> これはバグでしょうか?
え〜っと、buf(0)しか保存されないということでしょうか。
以前にも同様の質問がありましたがHSP3の仕様変更上の都合で正常
です。
文字列のバッファを自動拡張するためにメモリ内で配列の各要素は
連続していません。
その為、bsaveではbuf(0)のバッファしか保存されません。
[1105] else a--でエラーが出ない, 投稿者:もつ 投稿日:05/06/11(土) 15:03
if 1 : mes 1 : else a--
[1106] Re: else a--でエラーが出ない, 投稿者:馬鹿 投稿日:05/06/11(土) 18:06
それで?
[1103] ginfoでbufferの窓サイズ取得 投稿者:hmm 投稿日:05/06/10(金) 02:06
buffer 2,640,480,0
picload "test.gif"
x=ginfo(10)
y=ginfo(11)
screen 0,x,y,0
gcopy 2,0,0,x,y
とやっていったんbufferに画像を読み込んで
bufferの窓サイズが画像サイズにかわるので
その数値をginfoで読み取ってその値により
screenの窓サイズを自動的に変更するというヘンなことしてます。
HSP2.61の時はwinx,winyのシステム変数で正常に取得できていたのに
3.09βでは該当システム変数がないのでginfoで取得したところ、
x=4213766, y=14052904などといった明らかに不正な巨大な値が取得され
screenがえらいことになってしまいました。
対処策などありましたらご教授願いたいです。
[1104] Re: ginfoでbufferの窓サイズ取得 投稿者:hmm 投稿日:05/06/10(金) 02:33
あ〜、え〜、hsp261cmp.asをながめていましたところ、
x=ginfo(12)
y=ginfo(13)
にすることで解決できました。
ginfoのヘルプでなんだか読み間違えたみたいです。
「この命令はwinxに相当する」とかヘルプに書いてもらえると
ありがたかったかもです。
自己解決したようです。どうもお騒がせいたしました。
[1101] これは普通のことなのかな 投稿者:みみ 投稿日:05/06/09(木) 20:39
mes ""+
というふうに最後に記号を置いたら
エラーメッセージではなくて、強制終了になりますね。
[1099] 文字配列の自動拡張とpoke時のstrsize 投稿者:mine 投稿日:05/06/08(水) 22:56
いまさらですが、文字配列の自動拡張をして欲しい場合、
配列の宣言はしない方がいいのでしょうか?
下の例でsdim s,100と宣言すると異常終了します。
単にs=""だと自動拡張してくれてエラーは出ません。
使い方としては、例えばテキストエディタなどの作成で、
テキストのバッファを適当に64000位とかにしておけば、
それ以上の場合、自動拡張してくれるのかな?
と思っていたのですが…。
(宣言しているのに、勝手に拡張するとおこられるからでしょうか?(^^;)
自動拡張して欲しい時は宣言しない、と理解すればいいでしょうか?
sdim s,100
s=""
repeat 100
s+="123456789"
await 1
loop
mes "length="+strlen(s)
stop
それから、sdimで確保した文字列に追加していって
文字列の長さが大きくなると、追加する速度が低下します。
以前、その場合「s+="1234567890"」じゃなく
「poke s,p,"123456789":p+=strsize」とすればいいということで
2.61では使っていたのですが3.0ではpokeの長さがstrsizeに入りません。
皆さんこういうの使ってますか?使っておられる方が多ければ、
入るようにして頂くといいなと思います。
(poke s,p,"1234567890":p+=0+strlen("1234567890")とすればいいんですけど
いまいちスマートじゃないので…。 getstr感覚でいけると思うのですが…。)
[1090] screen命令について 投稿者:yakko 投稿日:05/06/07(火) 07:26
screen命令でツールウインドウにした時にタイトルの右に×が表示されます。
2.61ではなかったのですが仕様の変更でしょうか。
またそのウインドウを設定画面として作り、他の画面から呼び出した時にツールウインドウの×を押すと終了してしまいます。
環境はWinMe、バージョンは3.0β9です。
[1091] Re: screen命令について 投稿者:はりーぽっちゃり 投稿日:05/06/07(火) 11:38
> screen命令でツールウインドウにした時にタイトルの右に×が表示されます。
> 2.61ではなかったのですが仕様の変更でしょうか。
その方が便利で良いかと思います。
> またそのウインドウを設定画面として作り、他の画面から呼び出した時にツールウインドウの×を押すと終了してしまいます。
onexit *chkexit
title "ID=0"
repeat 5,2
screen cnt,300,300
title "ID="+cnt
loop
stop
*chkexit
if ( wparam == 0 ) : end
gsel wparam,-1
stop
このようにして、終了時にどのウィンドウを非表示にするか
指定すれば回避できるかと思います。
[1098] Re^2: screen命令について 投稿者:yakko 投稿日:05/06/08(水) 05:22
はりーぽっちゃり様ありがとうございます。
思い通りの動きになりました。
[1097] バグでしょうか 投稿者:かつら 投稿日:05/06/07(火) 20:36
バッファをかなり大きく(800*2000くらい)とって、その内容を実際の
画面に移したら、バッファの内容の一部がHSPの画面領域内、領域
外問わず画面上に表示されてしまいます。これってバグでしょうか?
バッファのとりすぎかとも思いましたが、2.61では問題なく表示で
きていますので念のため報告いたします。
[1092] 数学ライブラリ 投稿者:ddd 投稿日:05/06/07(火) 13:47
β9になって、関数が定義できるようになったから、
作ってみた。
-------------------------------------------------------------
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect" int, int, int, int
#func LoadLibrary "LoadLibraryA" sptr
#func GetProcAddress "GetProcAddress" int, sptr
#func FreeLibrary "FreeLibrary" int
#uselib "MSVCRT.dll"
#cfunc isfinite "_finite" double //isfinite
#cfunc isnan "_isnan" double //isnan
#module "math"
#defcfunc acos double p1 //acos
a=p1
prm=fnc(0), 1, varptr(a)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc asin double p1 //asin
a=p1
prm=fnc(1), 1, varptr(a)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc ceil double p1 //ceil
a=p1
prm=fnc(2), 1, varptr(a)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc cosh double p1 //cosh
a=p1
prm=fnc(3), 1, varptr(a)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc floor double p1 //floor
a=p1
prm=fnc(4), 1, varptr(a), varptr(b)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc fmod double p1, double p2 //fmod
a=p1
b=p2
prm=fnc(5), 2, varptr(a), varptr(b)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc log10 double p1 //log10
a=p1
prm=fnc(6), 1, varptr(a), varptr(b)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc max double p1, double p2 //max
if p1>p2: return p1
return p2
#defcfunc min double p1, double p2 //min
if p1<p2 : return p1
return p2
#defcfunc pow double p1, double p2 //pow
a=p1
b=p2
prm=fnc(7), 2, varptr(a), varptr(b)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc sinh double p1 //sinh
a=p1
prm=fnc(8), 1, varptr(a), varptr(b)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc tanh double p1 //tanh
a=p1
prm=fnc(9), 1, varptr(a), varptr(b)
res=callfunc(prm, varptr(fncode), 4)
return a
#defcfunc acosh double p1 //acosh
return logf(sqrt((p1)*(p1)-1.0)+(p1))
#defcfunc asinh double p1 //asinh
return logf(sqrt((p1)*(p1)+1.0)+(p1))
#defcfunc atanh double p1 //atanh
return logf((1.0+(p1)) / (1.0-(p1)))/2.0
#deffunc mathterm onexit //開放
FreeLibrary@ dll
return
#deffunc mathinit
if dll: return
dim fncode, 19
dim fnc,10
fncode.0 = $0824448b, $28744856, $8b397548, $8b142444, $8b102474, $108b0448
fncode.6 = $5104468b, $50520e8b, $2454ff51, $831edd18, $c03310c4, $0010c25e
fncode.12 = $1024748b, $8b04568b, $ff505206, $dd102454, $08c4831e, $c25ec033
fncode.18 = $00000010
VirtualProtect@ fncode, 19*4, $40, 0
LoadLibrary@ "MSVCRT.dll" : dll=stat
GetProcAddress@ dll, "acos" : fnc(0)=stat
GetProcAddress@ dll, "asin" : fnc(1)=stat
GetProcAddress@ dll, "ceil" : fnc(2)=stat
GetProcAddress@ dll, "cosh" : fnc(3)=stat
GetProcAddress@ dll, "floor" : fnc(4)=stat
GetProcAddress@ dll, "fmod" : fnc(5)=stat
GetProcAddress@ dll, "log10" : fnc(6)=stat
GetProcAddress@ dll, "pow" : fnc(7)=stat
GetProcAddress@ dll, "sinh" : fnc(8)=stat
GetProcAddress@ dll, "tanh" : fnc(9)=stat
return
#global
mathinit
-------------------------------------------------------------
使えるかどうかは別としてw
[1096] Re: 数学ライブラリ 投稿者:Irisawa 投稿日:05/06/07(火) 19:03
> GetProcAddress@ dll, "acos" : fnc(0)=stat
> GetProcAddress@ dll, "asin" : fnc(1)=stat
> GetProcAddress@ dll, "ceil" : fnc(2)=stat
> GetProcAddress@ dll, "cosh" : fnc(3)=stat
> GetProcAddress@ dll, "floor" : fnc(4)=stat
> GetProcAddress@ dll, "fmod" : fnc(5)=stat
> GetProcAddress@ dll, "log10" : fnc(6)=stat
> GetProcAddress@ dll, "pow" : fnc(7)=stat
> GetProcAddress@ dll, "sinh" : fnc(8)=stat
> GetProcAddress@ dll, "tanh" : fnc(9)=stat
結構知らない人が多いみたいですが、ヘルプにも書かれているとおり、
varptr関数を使用するとワザワザGetProcAddressを使用しなくても
DLL関数アドレスを取得できます。
#uselib "user32.dll"
#func MessageBox "MessageBoxA" int, sptr, sptr, int
s = "test"
prm = hwnd, varptr(s), varptr(s), 0
ret = callfunc(prm, varptr(MessageBox), 4)
stop
まあ、上記の場合はまったく意味がありませんが...。
[1093] Re: 数学ライブラリ 投稿者:ddd 投稿日:05/06/07(火) 15:26
作ってみたはいいけど、試しにマクロとこれと動作速度の比較してみたら、
遅っ!!一部のマクロ以外は、こっちの方が断然遅い!
しかし、powみたいにマクロじゃあ正常に動作しない(負の値が計算できない)奴や、
ceil、floor、fmod等はこっちの方が早いな。
[932] バグでしょうか? 投稿者:HaGU 投稿日:05/04/20(水) 07:13
最近、hgimg3を使い始めた者ですが、光源の設定でsellcolorの命令が機能しませんでした。
; 光源設定
sellpos
objset3 0,0,0
sellang
objset3 5,0.0,0.2
sellcolor
setcolor $000080
と記述した時、sellangまでは問題ないんですが、sellcolorで
#HSP script preprocessor ver3.0b7 / onion software 1997-2005(c)
#Source file not found.[userdef.as]
#HSP code generator ver3.0b7 / onion software 1997-2005(c)
hsptmp(52) : error 2 : 文法が間違っています (52行目)
--> selldir 1
と返ってきました。
環境はOS:XP DirectX8.1です。
HSP3もhgimgも使い始めたばかりなのでバグなのか自爆なのか判断がつきませんが、取り合えず報告しておきます。
えっと、それからちょっと要望を。
光源に関するリファレンスがもう少し増やして欲しいです。
もしくはサンプルを…
[977] Re: バグでしょうか? 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:30
>最近、hgimg3を使い始めた者ですが、光源の設定でsellcolorの命令が機能しませんでした。
すみません、commonフォルダにあるhgimg3.asのミスです。
138行目は、正しくは
#define sellcolor seldir HGOBJ_LIGHT
になります。
次のバージョンでは修正させて頂きます。
[990] Re^2: hgimg3の光源命令に関して(旧バグでしょうか?) 投稿者:HaGU 投稿日:05/05/05(木) 03:49
HSP3.0β8の公開、本当にお疲れさまです。
> すみません、commonフォルダにあるhgimg3.asのミスです。
> 138行目は、正しくは
>
> #define sellcolor seldir HGOBJ_LIGHT
取り合えず、修正して使ってみました。(seldir HGOBJ_LIGHTでも動いたんですね。汗)
その結果ですが、
sellcolor:objset3 1.0, 0.0, 0.0
と
sellcolor:objset3 1.0, 1.0, 1.0
では違いが認められず、
sellcolor:objset3 3.0, 1.0, 1.0
では「明るさ」のみが変化し、色彩的な変化は認められませんでした。
R,G,Bの要素の中で、Rの要素だけが明るさの要素として作用している様に思えます。
G,B要素は、いくら数値を変えても変化はありませんでした。
seldir HGOBJ_LIGHT,,,でもやってみましたが、結果は同じです。
あと,selscale HGOBJ_LIGHT,,,の命令を使用しても、描画に変化は出ませんでした。
(アンビエント色が何かは知らないんですが……汗)
それと、解説に
>それぞれのパラメーターは、R,G,Bの要素を0.0〜1.0で表わした値となります。
とありますが、1.0を超えた値、マイナス値の場合でも明らかに変化(*)が認められました。
(*明るさのみ変化)
と、このような結果になりました。修正時に考慮してもらえれば幸いです。
PS:
将来のバージョンでサポートされる予定の機能
・特殊効果エフェクト支援機能
・追加のライトパラメーター
の中に、フォグ効果、ポイントライト、スポットライト等って含まれていますか?
[1060] Re^3: hgimg3の光源命令に関して(旧バグでしょうか?) 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:44
>取り合えず、修正して使ってみました。(seldir HGOBJ_LIGHTでも動いたんですね。汗)
>その結果ですが、
>sellcolor:objset3 1.0, 0.0, 0.0
>と
>sellcolor:objset3 1.0, 1.0, 1.0
>では違いが認められず、
>sellcolor:objset3 3.0, 1.0, 1.0
>では「明るさ」のみが変化し、色彩的な変化は認められませんでした。
こちらではちょっと症状が確認できなかったのですが、
できれば再現するスクリプトを提示頂けないでしょうか。
>将来のバージョンでサポートされる予定の機能
>・特殊効果エフェクト支援機能
>・追加のライトパラメーター
>の中に、フォグ効果、ポイントライト、スポットライト等って含まれていますか?
xファイルの表示時は、今のところ平行光源のみサポートを考えています。
それ以外のポリゴンでは、ポイントライト、スポットライト等のサポートも可能ですが、
すぐに実装できるかどうかはわかりませんので、まだ先の話になるかと思います。
[1080] Re^4: hgimg3の光源命令に関して(旧バグでしょうか?) 投稿者:HaGU 投稿日:05/05/31(火) 23:39
> こちらではちょっと症状が確認できなかったのですが、
> できれば再現するスクリプトを提示頂けないでしょうか。
動作確認用のサンプルを作ってみました。
こちらからダウンロードできます。
http://f3.aaa.livedoor.jp/~haguruma/download.html
気力が無かったので、HGIMG3.0のサンプルスクリプトをベースにしました
。
お許し下さい。
自宅のPCと学校のPCで試しましたが、結果は変りませんでした。
> xファイルの表示時は、今のところ平行光源のみサポートを考えてい
ます。
> それ以外のポリゴンでは、ポイントライト、スポットライト等のサポ
ートも可能ですが、
> すぐに実装できるかどうかはわかりませんので、まだ先の話になるか
と思います。
なるほど。了解です。
[1076] line命令 投稿者:hiromasa 投稿日:05/05/30(月) 18:45
line命令を使って線をかくと、線のはじまりのx座標が
指定した値より1ドットずれているようです。
line 0,0,49,0
とすると、0,0からではなく1,0から
線がはじまります。
[1077] Re: line命令 投稿者:USK 投稿日:05/05/30(月) 20:15 <URL>
> line 0,0,49,0
> とすると、0,0からではなく1,0から
> 線がはじまります。
まず、line命令は『line 終点x, 終点y, 始点x, 始点y』です。
逆になってるのは、『line 終点x, 終点y』と書く事で、
前回の描画位置から線を引く事ができる様になっているからです。
(始点x, 始点yのデフォルト値として現在地が使われる。)
で、終点が描画されないという事ですが、これはWindows自体の仕様です。
なんでかと言われてもよく分からないですが…
理由を知っている方がいましたら、フォローお願いします。
# 自分では、(0,0)から(0,50)まで引いた時、50ピクセル塗られる方が美しいからと納得してます。
[1074] IF文判定について 投稿者:みかん 投稿日:05/05/29(日) 22:13
変数の型が違う場合、違っていても成立してしまうようです。
mode = 0
if ( mode == "" ) : dialog "成立"
[1075] Re: IF文判定について 投稿者:あんすこえむ 投稿日:05/05/30(月) 12:48
> 変数の型が違う場合、違っていても成立してしまうようです。
> mode = 0
> if ( mode == "" ) : dialog "成立"
正しい動きです。
HSPの式は、最初に登場する変数の型に合わされて計算されます。
ここで最初に登場している変数modeは整数型なので、このif文で登場する値は整数値に整合された後に比較されます。
例えば3.22は小数切り捨ての3、"123"は123、"-1.22"は-1.22の絶対値の1.22が小数切り捨てされて-1となります。
(ここの切り捨ては絶対値としてのものです。)
文字列は先頭から数値として扱えるところまでが変換の対象となるようです。
"12+00"→12、"3.4.5"→整数なら3 (実数で整合するなら3.4)
頭から数値として扱えないもの(""とか"ABC")は0となります。
というわけで、先のif( mode="" )は、0=0の比較を行っているので成立します。
ちなみに、if( ""=mode ) とした場合は文字列に整合しますので、modeの0は"0"となり、成立しません。
[1070] gsquare等 投稿者:dura 投稿日:05/05/28(土) 20:21
screen 0,640,480 : cls 4
window_x=0,ginfo(12),ginfo(12),0
window_y=0,0,ginfo(13),ginfo(13)
color 255,255,255 : gmode 3,,,180 : gsquare -1,window_x,window_
y
以上のようにgsquareを使ってみたら、右端と下端に描画されていない
部分ができました。
grectやgrotateでも同様に描画されませんでした。
バグかなと思ったのですが、上のプログラムの中にミスがあるかもし
れないのでその場合は何方か指摘してくださるとありがたいです。
あとスクリプトエディタに関してですが、
スクリプトの一部分を選択する
↓
クリックしたまま文字を入力して選択部分を消す
↓
少しマウスをドラッグすると、その行の初めから選択する
↓
文字を入力
これでエディタが強制終了します。
ややこしい操作ではありますが、
よく 部分選択→文字入力 という操作をする私にとっては気になりましたので報告します。
[1071] Re: gsquare等 投稿者:LonelyWolf 投稿日:05/05/29(日) 11:59
> これでエディタが強制終了します。
> ややこしい操作ではありますが、
> よく 部分選択→文字入力 という操作をする私にとっては気になりましたので報告します。
デバッグしてみました所、使っているFootyというコントロール
(mesboxの高性能版みたいな感じです)のバグのようです。
Footy2が開発されていて、Footyの方は開発中止となっています。
ですので、Footy2が正式版になるまでは手も足も出ません。
[1073] Re^2: gsquare等 投稿者:dura 投稿日:05/05/29(日) 20:29
> デバッグしてみました所、使っているFootyというコントロール
> (mesboxの高性能版みたいな感じです)のバグのようです。
> Footy2が開発されていて、Footyの方は開発中止となっています。
> ですので、Footy2が正式版になるまでは手も足も出ません。
返信ありがとうございます。
バグについては一応こちらで注意すればいい事ですしね。
失礼しました。
[1068] screen,bufferのID 投稿者:mine 投稿日:05/05/28(土) 07:29
みなさん、こんにちは。
screenやbufferのIDを33以上にすると、異常終了するようなのです…。
そしてなぜか40以上は、大丈夫です。
確かIDは、制限が無かったとおもうのですが…。
いろんな大きさの画像をbufferに取り込んで、表示させたりする
用途で使いたいのですが…。
2.61では、起こりませんでした。
(win2000,meで確認しました。)
[1049] DX3D 投稿者:うひょ 投稿日:05/05/22(日) 09:47
hgimg3ってDX3Dが必要っぽいんですが、
前バージョンみたいに使わない用には出来ないのですか?
[1067] Re: DX3D 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:47
>hgimg3ってDX3Dが必要っぽいんですが、
>前バージョンみたいに使わない用には出来ないのですか?
HGIMG3は、DirectX(D3D)が必須になっています。
これは、光源計算や半透明の描画など、いままでのHGIMGを越える機能を
提供しようとした場合に、どうしてもハードウェア(DirectX)を利用しないと
速度を出すことができないためです。
DirectXなしで3Dを利用する場合は、以前のHGIMGを使用することをご検討下さい。
[1037] hgimg3.0β3:event_uv命令について 投稿者:HaGU 投稿日:05/05/21(土) 21:12
event_uvを使ってみたのですが、変な…何と説明していいのか分りま
せんが、設定した値と違うUV値が適用されたり、拡大されて表示さ
れたりと、非常に不規則な変化をした画像が表示されました。
僕だけではバグの規則性が見つけられなかったので、もしhgimg3.0
β3を使っている方がいらっしゃったら、気が向いた時にでも試して
みて下さったらと思います。
[1064] Re: hgimg3.0β3:event_uv命令について 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:45
>event_uvを使ってみたのですが、変な…何と説明していいのか分りま
>せんが、設定した値と違うUV値が適用されたり、拡大されて表示さ
>れたりと、非常に不規則な変化をした画像が表示されました。
ご報告ありがとうございます。
こちらも、できれば再現するスクリプトを提示頂けると助かります。
[921] HGIMG3.0のバグ報告 投稿者:cbird 投稿日:05/04/13(水) 19:03 <URL>
度々の書き込みすいません。
とりあえずHGIMG3.0β3でのバグです(あんまりVerは関係ないです
が)
・複数のシェードがあるとその断面でTOONが変になることがある
・モデルに対してTOONの面処理が優先され塗りつぶされることがあ
る(テクスチャーの有る無しにかかわらず)
・TOON処理をしてアニメが不完全に再生されるのだが(ウェイトの
関係?)そのアウトラインモデルは正常にアニメーションされズレが
生じる
今回のデータはMAYAとLW7.5で出力し、mview.exe(DX9付属)とDXVi
ew.exe(LWプラグイン付属)で確認をとったのを使用しました。
HSPでこれで見えたら正解という推奨のヴューワーとかあれば教えて
ください。
[972] Re: HGIMG3.0のバグ報告 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:28
>・複数のシェードがあるとその断面でTOONが変になることがある
>・モデルに対してTOONの面処理が優先され塗りつぶされることがある
>(テクスチャーの有る無しにかかわらず)
>・TOON処理をしてアニメが不完全に再生されるのだが(ウェイトの関係?)
>そのアウトラインモデルは正常にアニメーションされズレが生じる
HGIMG3.0の検証、いつもありがとうございます。
ちょっとどういった状態なのか想像し難いのですが、こちらも
モデルのデータか、スクリーンのイメージなどを頂けると助かります。
>今回のデータはMAYAとLW7.5で出力し、mview.exe(DX9付属)と
>DXView.exe(LWプラグイン付属)で確認をとったのを使用しました。
>HSPでこれで見えたら正解という推奨のヴューワーとかあれば教えてください。
LWプラグインに付属しているDXView.exeは、DirectX8ベースのビューアーなので、
かなりHGIMG3に近い環境かと思います。
[1007] Re^2: HGIMG3.0のバグ報告 投稿者:cbird 投稿日:05/05/10(火) 21:24 <URL>
> HGIMG3.0の検証、いつもありがとうございます。
> ちょっとどういった状態なのか想像し難いのですが、こちらも
> モデルのデータか、スクリーンのイメージなどを頂けると助かります
。
メールでは説明不足になりがちなので簡易な説明のページを作りました。
サンプルとして使っていただければ幸いです。
http://www2s.biglobe.ne.jp/~birdcage/hsp/hsp.htm
[1063] Re^3: HGIMG3.0のバグ報告 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:45
>メールでは説明不足になりがちなので簡易な説明のページを作りました。
>サンプルとして使っていただければ幸いです。
>http://www2s.biglobe.ne.jp/~birdcage/hsp/hsp.htm
とても分かりやすく丁寧な説明をありがとうございます。
修正にあたって、とても助かりました。
HGIMG3β4版で、ある程度修正したと思いますが、まだおかしな部分があれば
ご指摘頂けると嬉しいです。
[1002] [要望]hgimg3のテクスチャについて 投稿者:HaGU 投稿日:05/05/08(日) 14:56
連投失礼します。
スプライトのモデルを生成する時に、texload命令でテクスチャを貼
り付けますが、これだとスプライトによるテクスチャの再利用効率が
低いので、setuv命令から使用するテクスチャのIDを設定出来るよう
にするか、使用するテクスチャのIDを指定できる命令が欲しいです。
例えばseltex(仮名)のような。
流れ的には、
texload "***" : texID(*)=stat
:
:
seltex texID,mode
setuv tx0,ty0,tx1,ty1
addspr modelID(*),0
と出来たらいいなぁと 夢想してますw
余裕が出来た時でいいので、考えてもらえれば幸いです。
[1062] Re: [要望]hgimg3のテクスチャについて 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:45
>スプライトのモデルを生成する時に、texload命令でテクスチャを貼
>り付けますが、これだとスプライトによるテクスチャの再利用効率が
>低いので、setuv命令から使用するテクスチャのIDを設定出来るよう
>にするか、使用するテクスチャのIDを指定できる命令が欲しいです。
seltexのような命令の実装はちょっと難しいですが、
HGIMG3β4版で、addsprやaddplateにテクスチャID指定パラメーターを
追加してみましたので、こちらを代用して頂ければと思います。
[1000] [要望][hgimgと配列の連続代入について 投稿者:chokko 投稿日:05/05/08(日) 01:09
ご無沙汰しておりました、HSP3.xの開発おつかれさまです。
今回2つばかり要望を持ってまいりました。
・hgimgxでのクォータニオンのサポ−ト
hgimgではオイラー角によるオブジェクトのxyz回転がサポートされていますが、
フライトシミュレータなど多くの場合は、クォータニオンによるオブジェクトに
相対的なxyz回転が必要になるかと思います。余力がありましたら、
非常に汎用性も高いのでぜひサポートして頂けると幸いです。
・HSP3.xの配列変数への連続代入について
既出の記事"[451] カンマで連続代入 "で、すちゃらかヒロシさんも仰っておりますが、
多次元配列変数への連続代入を、2行に分けて記述するとエラーが出てしまいます。
小規模なデータ群であれば擬似的に一次元配列と見立てることで回避はできますが、
そうでない場合を考えると、どうしても気がかりですので、
余力があればこちらの修正もよろしくお願いいたします。
それではよろしくお願いします。
[1061] Re: [要望][hgimgと配列の連続代入について 投稿者:おにたま(管理人) 投稿日:05/05/27(金) 23:44
>・hgimgxでのクォータニオンのサポ−ト
現在のところ以前のHGIMGと同じxyz回転をメインにサポートしています。
将来的には、それ以外の回転方法も視野に入れていきたいと考えていますが、
今からすぐにサポートすることについては難しいかもしれません。
>・HSP3.xの配列変数への連続代入について
ご意見ありがとうございます。
検討してみたいと思います。
[1059] hsp3.exe 投稿者:cat-walk 投稿日:05/05/26(木) 01:20 <URL>
hsp2ではhsp2.exe @c:\start.axなどとするとデバッグウインドウを出して実行できましたが、hsp3.exeでは実行できないようです。
hsp3では仕様が変更されたのでしょうか。
[1050] ddim 投稿者:hiromasa 投稿日:05/05/22(日) 11:03
ddim命令が水色にならず、白く表示されてしまいます
[1054] Re: ddim 投稿者:はり〜ぽっちゃり 投稿日:05/05/23(月) 22:26
> ddim命令が水色にならず、白く表示されてしまいます
それは、ddim命令が標準命令でないからだと思われます。
[1055] Re^2: ddim 投稿者:Irisawa 投稿日:05/05/24(火) 03:22
> それは、ddim命令が標準命令でないからだと思われます。
hspdef.asに含まれているマクロですが普通の拡張マクロは色分け
されているんですよね。
これはちょっと気になっていました。
ただ、もうキーワードの登録がFootyの限界に達しているそうです。
[1057] Re^3: ddim 投稿者:hiromasa 投稿日:05/05/24(火) 19:46
> ただ、もうキーワードの登録がFootyの限界に達しているそうです。
そうなんですか、ありがとうございました。
[1056] 無題 投稿者:junior 投稿日:05/05/24(火) 14:20
noteaddで、既存の行を空行(改行のみ)にしたい場合、以下の記述ではいずれも意図通りになりません。
noteadd "",A,1 ;A行目が削除される
noteadd "\n",A,1 ;A行目が"\n"になり、さらにA+1行目に"\n"が挿入される
それぞれの動きはそれなりに理解できるので、このような動作を前提に
noteadd "\n",A,1:notedel A
とすれば意図した処理は行えるのですが、これは仕様なんでしょうか?
あるいは、他に適切な記述はありますか?
[1033] int 投稿者:dura 投稿日:05/05/21(土) 17:14
duraと申しますが、複数のパラメータのon/offを、
論理演算子「&」を使って一つの変数で識別できるように
プログラムを作っている時、バグのようなものが出てきました。
以下はそのときのバグを示すものなんですが、
repeat 20
a=expf(logf(2)*cnt)
pos 0,cnt*20 : mes " "+a+" → "+int(a)
loop
a2=double(1)
repeat 20
pos 300,cnt*20 : mes " "+a2+" → "+int(a2)
a2=a2*2
loop
解説しますと expf(logf(r)*n)でrのn乗という計算が出来ますが、
それは実数なのでintで整数に戻す、という操作をすると所々で値が変
わってしまいます。
2つ目の repeat〜loop の組では、実数として直接2のcnt乗を代入し
たものを整数に変換した時には何も問題が無いことを示すものです。
なぜこうなるかは分かりませんが一応報告しておきます。
[1038] Re: int 投稿者:LonelyWolf 投稿日:05/05/21(土) 21:16
> duraと申しますが、複数のパラメータのon/offを、
> 論理演算子「&」を使って一つの変数で識別できるように
> プログラムを作っている時、バグのようなものが出てきました。
> 以下はそのときのバグを示すものなんですが、
>
> repeat 20
> a=expf(logf(2)*cnt)
> pos 0,cnt*20 : mes " "+a+" → "+int(a)
> loop
>
> a2=double(1)
> repeat 20
> pos 300,cnt*20 : mes " "+a2+" → "+int(a2)
> a2=a2*2
> loop
>
> 解説しますと expf(logf(r)*n)でrのn乗という計算が出来ますが、
> それは実数なのでintで整数に戻す、という操作をすると所々で値が変
> わってしまいます。
> 2つ目の repeat〜loop の組では、実数として直接2のcnt乗を代入し
> たものを整数に変換した時には何も問題が無いことを示すものです。
>
> なぜこうなるかは分かりませんが一応報告しておきます。
実数として扱う都合上、精度の壁がつきまとうので、
実際に計算した値は、〜.999…となっています。
これは、電卓で1÷3×3を計算すると、0.999…となるのと同じようなものです。
pos 0,cnt*20 : mes " "+a+" → "+int(a)
を
pos 0,cnt*20 : mes " "+a+"("+strf("%.15f", a)+") → "+int(a)
とすると分かります。試してみて下さい。
括弧内では、strfで小数点以下をどれだけ表示するか指定してあげています。
そうしない場合は表示する桁数で一番近い値を表示するみたいです。
また、int()では小数点以下切り捨てをするようで、
このような値になっています。
対策としては、int(a + 0.5)として四捨五入する方法などがあります。
[1052] Re^2: int 投稿者:dura 投稿日:05/05/22(日) 12:48
> 実数として扱う都合上、精度の壁がつきまとうので、
> 実際に計算した値は、〜.999…となっています。
> これは、電卓で1÷3×3を計算すると、0.999…となるのと同じようなも
のです。
>
> pos 0,cnt*20 : mes " "+a+" → "+int(a)
> を
> pos 0,cnt*20 : mes " "+a+"("+strf("%.15f", a)+") → "+int(a)
> とすると分かります。試してみて下さい。
>
> 括弧内では、strfで小数点以下をどれだけ表示するか指定してあげてい
ます。
> そうしない場合は表示する桁数で一番近い値を表示するみたいです。
> また、int()では小数点以下切り捨てをするようで、
> このような値になっています。
>
> 対策としては、int(a + 0.5)として四捨五入する方法などがあります。
四捨五入の方法で解決できました。
詳しい説明をして頂き本当にありがとうございます。
[1032] 無題 投稿者:レヴィン 投稿日:05/05/19(木) 16:37
はじめまして。レヴィンといいます。
格闘ゲームを作っているので"stick"命令対応のキー(非トリガーキー)をもっと増やしてほしいです(数が足りなくなりそうです)
[1039] Re: 無題 投稿者:Shark++ 投稿日:05/05/22(日) 00:11
API の GetKeyboardState() を使ってみるとか
詳しくは調べてもらうとしてこんな感じ↓
;--------------------------------------------------------
#uselib "user32.dll"
#func GetKeyboardState "GetKeyboardState" var
dim keys,64 ; 256 / 4 = 64
*main
wait 1
GetKeyboardState keys
redraw 0
color 255,255,255
boxf
color 0,0,0
repeat 256
pos cnt\16*24,cnt/16*16
n = peek(keys,cnt)
mes strf("%02X", n)
loop
redraw
goto *main
;--------------------------------------------------------
個々のバイトの値は
最上位ビット($80) 呼び出した時に押されている
最下位ビット($01) 前回の呼び出し後にも押されていた
です
[1030] HGIMG3.0 投稿者:911 投稿日:05/05/19(木) 08:37 <URL>
HGIMG 3.0の138行目
#define sellcolor selldir HGOBJ_LIGHT
が間違ってます。
[1029] HSP30b8でのscreenの不具合報告 投稿者:chokko 投稿日:05/05/19(木) 00:13
★ HSP30b8でのscreenの不具合報告 投稿者:chokko (05/05/18(水) 23:56) No.1028 eaocf-34p34.ppp15.odn.ne.jp
β版ですので不具合ではなく仕様かもしれませんが、
screen命令でp4に非表示フラグを立てると、
ウィンドウが画面に描画されてしまい、
画面更新されないままゴミとして残ってしまうようです。
例)screen 0,640,480,2
テスト環境は、ともにWinXPsp2 IE6.02で、2台のPCで試してみました。
[1024] 配列 投稿者:みみ 投稿日:05/05/15(日) 21:42
dim a,10,10
a.0.0=1,2,3
はエラーにならないんですが
a.0.1=1,2,3
になるとエラーが出ます。
[927] プラグインから配列設定 投稿者:たすく 投稿日:05/04/16(土) 22:52
自作プラグインでの質問もここでいいんでしょうか?
プラグインで、配列を確保して値を設定したいのですがよくわかりません。
で、下のように書くと、どうやら配列長が変わってなみたいなんですよね。
int data[]={1,2,3};
code_getva(pval);
code_setva(pval,0,HSPVAR_FLAG_INT,&data[0]);
code_setva(pval,1,HSPVAR_FLAG_INT,&data[1]);
code_setva(pval,2,HSPVAR_FLAG_INT,&data[2]);
hspexpandでメモリを確保すればいいんでしょうか?
[975] Re: プラグインから配列設定 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:30
>自作プラグインでの質問もここでいいんでしょうか?
>プラグインで、配列を確保して値を設定したいのですがよくわかりません。
検証ありがとうございます。
code_setvaで配列に値を入れる部分はそれで正しいと思います。
配列長が変わる場合は、現状では自前で配列長を変更してやらないと
いけません。具体的には、該当する型のhspvarprocを取得して、
hspvarproc-Allocを呼び出して動的にサイズを変更するという処理が
必要になります。
(hspexpandだと、確保されているメモリサイズだけを変更するので、
配列に関する情報は更新されません。)
ちょっと面倒な部分が多いので、いずれSDKの方でサンプルなどを提示して
いければと考えています。あとは、モジュールの命令を作って再確保した方が
早いかもしれません(^^;
[1023] Re^2: プラグインから配列設定 投稿者:たすく 投稿日:05/05/15(日) 10:47
おにたまさん、回答ありがとうございます。
hspvar_core.cppのHspVarCoreDimと同じようなことをやればいいんですね?
getproc(pval->flag)->Free(pval);
HspVarProc* p=getproc(HSPVAR_FLAG_INT);
pval->flag = HSPVAR_FLAG_INT;
pval->len[0] = 1;
pval->offset = 0;
pval->arraycnt = 0;
pval->support = p->support;
pval->len[1] = 配列数;
pval->len[2] = 1;
pval->len[3] = 1;
pval->len[4] = 1;
p->Alloc( pval, NULL );
とやったら動いているようにみえます。
確かに、若干面倒ですね;;
HSPEXINFO構造体にHspFunc_prm_setarrayとかあればいいかもしれませんね。
で、実体はHspVarCoreDimにリンクしているだけ(^^;
[1019] screen命令でスクロールバーが出てきません。 投稿者:777 投稿日:05/05/15(日) 05:21
screen命令で、
「p7,p8のパラメータで、ウインドゥのクライアントサイズ
(実際に表示される大きさ)を指定することができます。
クライアントサイズが初期化サイズよりも小さい場合には、
スクロールバーが付加されます。」
とありますが、
screen 1,800,600,0,0,0,320,240
としても、スクロールバーが出てきません。
Ver3〜この機能はなくなるのでしょうか?
[1022] Re: screen命令でスクロールバーが出てきません。 投稿者:Shark++ 投稿日:05/05/15(日) 10:10
HSP3バグトラッッキングシステムのほうにはすでに報告してあります
12: screenで、スクロールバーが付かずウインドウサイズが変えられない
http://quasiquote.org/hspbt/guest?project=hspb3&action=view_report&id=12
たぶん、バグじゃないかとは思いますが
[1006] 自動アップデート機能 投稿者:直樹 投稿日:05/05/09(月) 19:20
HSPスクリプトエディタのβがこれだけアップされるとDLなどが
大変だと思います。
そのためエディタを起動すると自動的にアップデートする機能を追
加したらどうでしょうか
[1021] Re: 自動アップデート機能 投稿者:Shark++ 投稿日:05/05/15(日) 10:05
自分は特に必要はないかと思います
β版なのでこれだけ更新されると言う考え方ではダメですか?
わざわざそんな機能に時間を割くよりもエディタの不具合修正や機能の追加に時間を割いたほうがいいような気がします
なんでもかんでも自動アップデートすればいいってことはないと思いますがどうでしょうか?
[922] 引数&hspcmp 投稿者:たすく 投稿日:05/04/14(木) 01:04
3.0b7リリースお疲れ様です。コマンドライン実行に対応していただきありがとうございます。
急かしたみたいですみません。で、さっそくお願いが^^;
コマンドラインからhsp3 a.axは実行できますが、hsp3 "a.ax"は実行できません。
そのうちでかまいませんので対応をお願いします(wikiに書いた方がいいですか?)。
あと、当方自前でhspcmp.dllを起動しているのですが、使っているのがBCBなので、
implibでhspcmp.libファイルをつくってリンクしています(2.61までは問題なし)。
ところが、実行するとhspcmp.dllでなく、hspcmp3.dllをリンクしようとします。
hspcmp.dllをhspcmp3.dllにすると使えるんですが、そうするとhsed3
が使えないし……何か設定間違いしているんでしょうか?
[973] Re: 引数&hspcmp 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:29
>コマンドラインからhsp3 a.axは実行できますが、hsp3 "a.ax"は実行できません。
>そのうちでかまいませんので対応をお願いします(wikiに書いた方がいいですか?)。
そうですね、wikiの方に書いておいて頂ければ、いずれ対応したいと思います。
>ところが、実行するとhspcmp.dllでなく、hspcmp3.dllをリンクしようとします。
>hspcmp.dllをhspcmp3.dllにすると使えるんですが、そうするとhsed3
>が使えないし……何か設定間違いしているんでしょうか?
β8でちょっと修正してみたのですが、どうでしょうか。
[1020] Re^2: 引数&hspcmp 投稿者:たすく 投稿日:05/05/15(日) 09:45
すみません、反応が遅くなりました。
> そうですね、wikiの方に書いておいて頂ければ、いずれ対応したいと思います。
こっちの件については、wikiがメールアドレス公開ということなので、
申し訳ないですが保留させてください。
> >hspcmp.dllをhspcmp3.dllにすると使えるんですが、そうするとhsed3
> >が使えないし……何か設定間違いしているんでしょうか?
> > β8でちょっと修正してみたのですが、どうでしょうか。
こちら確認しました。OKです。早い対応ありがとうございました。
[982] Re^2: 引数&hspcmp 投稿者:くに 投稿日:05/05/03(火) 00:11 <URL>
> >コマンドラインからhsp3 a.axは実行できますが、hsp3 "a.ax"は実行できません。
> >そのうちでかまいませんので対応をお願いします(wikiに書いた方がいいですか?)。
>
> そうですね、wikiの方に書いておいて頂ければ、いずれ対応したいと思います。
それでしたら、
HSPβ3
http://quasiquote.org/hspbt/guest?project=hspb3&action=top
か、
HSP3WishList
http://quasiquote.org/hspbt/guest?project=hspb3wish&action=top
に書くのがよろしいかと。
[1008] えっと 投稿者:as 投稿日:05/05/10(火) 21:45
*top
wait p1
picload "LOGO.JPG"
mes "あー来ちゃった"
stop
これでエラーが出るんですが。
間違いがあったらそのときはいってください。
お願いします。
[1010] Re: えっと 投稿者:Irisawa 投稿日:05/05/11(水) 12:32
> これでエラーが出るんですが。
> 間違いがあったらそのときはいってください。
どんな(なんの)エラーが出るのか書かないと誰にも分かりませんよ。
[1014] Re^2: えっと 投稿者:as 投稿日:05/05/12(木) 21:45
> > これでエラーが出るんですが。
> > 間違いがあったらそのときはいってください。
>
> どんな(なんの)エラーが出るのか書かないと誰にも分かりませんよ。
エラーは
error 3 at line 2[コピー〜top.as]
-->パラメータの数値が異常です
です。
[1015] Re^3: えっと 投稿者:hiromasa 投稿日:05/05/12(木) 22:33
> > > これでエラーが出るんですが。
> > > 間違いがあったらそのときはいってください。
> >
> > どんな(なんの)エラーが出るのか書かないと誰にも分かりませんよ。
> エラーは
> error 3 at line 2[コピー〜top.as]
> -->パラメータの数値が異常です
> です。
wait p1をwait 1にしてみてください
[1009] gettimeのパラメータ指定 投稿者:時計職人 投稿日:05/05/10(火) 23:17
gettimeのタイプ指定で
0 年(Year)
1 月(Month)
2 曜日(DayOfWeek)
3 日(Day)
4 時(Hour)
5 分(Minute)
6 秒(Second)
7 ミリ秒(Milliseconds)
となっておりますが、
2と3は順番を逆にしたほうが良いかと思いますがどうですか?
つまり、
0 年(Year)
1 月(Month)
2 日(Day)
3 曜日(DayOfWeek)
4 時(Hour)
5 分(Minute)
6 秒(Second)
7 ミリ秒(Milliseconds)
のようになれば良いと思い、#define命令で作成してみました。
#define ctype _gettime(%1) gettime((%1==2)*3+(%1==3)*2+((%1!=2)||(%1!=3))*%1)
[1011] Re: gettimeのパラメータ指定 投稿者:Irisawa 投稿日:05/05/11(水) 12:36
互換性の問題なども含め、いろいろ難しい部分があるんでしょうね。
[1012] Re^2: gettimeのパラメータ指定 投稿者:時計職人 投稿日:05/05/11(水) 14:09
Irisawaさん、ありがとうございます。
> 互換性の問題なども含め、いろいろ難しい部分があるんでしょね。
確かに、互換性は大きな課題ですからね。
#だれも使わないでしょうが、修正。0・(ノ∀`)0・。
#define _gettime(%1) gettime((cnt==2)*3+(cnt==3)*2+((cnt!=2)&&(cnt!=3))*cnt)
[964] ヘルプの説明 投稿者:USK 投稿日:05/04/30(土) 02:22 <URL>
mcallの説明を見るとCOM専用命令の様に書かれていますが、
拡張型で使用する事も可能なんですよね?
もしそうなら、「対応する型でのみ使用可能な命令で、
標準ではCOM型で使える。COM型の場合は…」という感じの方が良いと思います。
あと、繰り返しになりますが、誤用されない様に#defineの%cの説明を追記していただきたいです。
[980] Re: ヘルプの説明 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:32
>mcallの説明を見るとCOM専用命令の様に書かれていますが、
>拡張型で使用する事も可能なんですよね?
>もしそうなら、「対応する型でのみ使用可能な命令で、
>標準ではCOM型で使える。COM型の場合は…」という感じの方が良いと思います。
>あと、繰り返しになりますが、誤用されない様に#defineの%cの説明を追記していただきたいです。
ご指摘ありがとうございます。
マニュアルに補足する内容を追加してみました。
[1003] Re^2: ヘルプの説明 投稿者:USK 投稿日:05/05/08(日) 21:27 <URL>
> >mcallの説明を見るとCOM専用命令の様に書かれていますが、
> >拡張型で使用する事も可能なんですよね?
> >もしそうなら、「対応する型でのみ使用可能な命令で、
> >標準ではCOM型で使える。COM型の場合は…」という感じの方が良いと思います。
> >あと、繰り返しになりますが、誤用されない様に#defineの%cの説明を追記していただきたいです。
>
> ご指摘ありがとうございます。
> マニュアルに補足する内容を追加してみました。
やはり%cの説明が無いようですが、こちらには追記しないという方針でしょうか。
今まで、マクロを書かれた方の内で結構な数の方が、
文の区切りに誤って%cを使っていたので、
これからも間違える方が多発すると思うのですが…
もし追記されない理由があるのでしたら、お教え下さい。
[1004] Re^3: ヘルプの説明 投稿者:おにたま(管理人) 投稿日:05/05/09(月) 02:37
>やはり%cの説明が無いようですが、こちらには追記しないという方針でしょうか。
hspprog.txtには追記していたのですが、ヘルプの方はまだでした。
次のバージョンでは反映させるようにしたいと思います。
[1005] Re^4: ヘルプの説明 投稿者:USK 投稿日:05/05/09(月) 18:14 <URL>
> hspprog.txtには追記していたのですが、ヘルプの方はまだでした。
> 次のバージョンでは反映させるようにしたいと思います。
hspprog.txtは確認してませんでした。
これだけずっと気にかかってたので、スッキリしました。
対応ありがとうございました。
[1001] event_set系の命令について 投稿者:HaGU 投稿日:05/05/08(日) 14:30
hgimg3の命令、event_set*** id,x1,y1,z1,x2,y2,z2で
x2,y2,z2を省略すると、0が代入されてしまいます。
また、x1,y1,z1=x2,y2,z2でも0が代入されるようです。
x1,y1,z1とx2,y2,z2の値を0.1程ずらして設定すると上手くいきました。
[994] 16進数→10進数 投稿者:ttm 投稿日:05/05/07(土) 00:44
3.0では16進数の頭に$をつけても、intで10進数に変換されません。
3.0ではこういう仕様なんですか?
それとも他に方法があるんでしょうか?
a="1F"
b="$"+a
mes int(b)
これだと0しか表示されない。
2.61ではちゃんと10進数に変換されました。
[999] Re: 16進数→10進数 投稿者:はり〜ぽっちゃり 投稿日:05/05/08(日) 00:39
a="1F"
b='$'+a
mes int(b)
このように、""(ダブルクウォート)ではなく、''(シングルクウォート)
でくくればOKだと思います。
[998] Re: 16進数→10進数 投稿者:ttm 投稿日:05/05/07(土) 08:45
Irisawaさん、さくらさんありがとうございました。
[997] Re: 16進数→10進数 投稿者:Irisawa 投稿日:05/05/07(土) 08:10
> それとも他に方法があるんでしょうか?
> a="1F"
> b="$"+a
> mes int(b)
> これだと0しか表示されない。
以前、このBBSでCから移植した16進数の文字列から10進数数値へ変換
するモジュール書いたので、それを再掲載します。
#module
#deffunc convert var s
i = 0
x = 0
while peek(s, i) ! 0
if ('0' <= peek(s, i)) & (peek(s, i) <= '9') {
n = peek(s, i) - '0'
} else : if ('a' <= peek(s, i)) & (peek(s, i) <= 'f') {
n = peek(s, i) - 'a' + 10
} else : if ('A' <= peek(s, i)) & (peek(s, i) <= 'F') {
n = peek(s, i) - 'A' + 10
} else {
x = -1
_break
}
i++
x = x * 16 + n
wend
return x
#global
a = "FF"
convert a
if stat ! -1 {
mes stat
} else {
mes "エラー!!"
}
stop
[996] Re: 16進数→10進数 投稿者:さくら 投稿日:05/05/07(土) 02:19
> 3.0では16進数の頭に$をつけても、intで10進数に変換されません。
> 3.0ではこういう仕様なんですか?
strf関数を利用します。
;a="1F"
;b="$"+a
;mes int(b)
a=$1f
b=0x1f
mes int(strf("%d",a))
mes strf("%d",b)
[991] HSPβ8 配列同士の memcpy でエラー 投稿者:KA 投稿日:05/05/06(金) 22:00
下記スクリプトでエラーが発生します。
2.61 及び以前のβ版では発生しなかったと
思います。書式的に間違っているのか、配
列の使い方が悪いのでしょうか??
ループ2回目で引っかかります。
memcpy --,--,64,--,-- では発生しません
---------------------------
sdim A,66,2 : sdim B,66,2
repeat 2
memcpy B(cnt),A(cnt),65,0,0
;又は memcpy B.cnt,A.cnt,65,0,0
loop
---------------------------
[992] Re: HSPβ8 配列同士の memcpy でエラー 投稿者:くに 投稿日:05/05/07(土) 00:29 <URL>
KAさん、はじめまして。くにと申します。
確かに、エラーが出ますね。
ちょっと、僕なりに調べてみたのですが、
beta4では、5行目で、バッファオーバーフロー
beta6では、5行目で、バッファオーバーフロー
beta7では、3行目で、バッファオーバーフロー
beta8では、3行目で、バッファオーバーフロー
という風になりました。
beta6とbeta7では、エラーの出る場所が違うようですが、
その辺にエラーに関する何かがあるかもしれませんね。
[995] Re^2: HSPβ8 配列同士の memcpy でエラー 投稿者:KA 投稿日:05/05/07(土) 00:51
くにさん、ありがとうございます。
β版ということで、正式版がでたら
再検証してみます。
[923] HGIMG3の追加命令をお願い 投稿者:ouged 投稿日:05/04/14(木) 14:36
おにたまさん、こんにちは。
HGIMG3に追加命令をお願いしたいのですが。
画面のキャプチャと線の表示命令です。
ツールを作りたいけど 、Bmpsaveがつかえないし、
線が出ないので、GUIが作れなくって・・・。
あと、cbirdさんの「ジョイントの情報を得る命令」は、
ぜひ追加して欲しいです。
[974] Re: HGIMG3の追加命令をお願い 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:29
>HGIMG3に追加命令をお願いしたいのですが。
>画面のキャプチャと線の表示命令です。
ご意見ありがとうございます。
該当する機能について、検討してみたいと思います。
[987] Re^2: HGIMG3の追加命令をお願い 投稿者:HaGU 投稿日:05/05/03(火) 11:22
> >HGIMG3に追加命令をお願いしたいのですが。
> >画面のキャプチャと線の表示命令です。
線の命令は、実装されるまでこんなのでどうでしょう。
角度によって線の太さがおかしくなったりするんですが…
まあ、間に合わせと言う事で(汗)
#include "hgimg3.as"
#const screenw 400
#const screenh 400
#module
;hgline 始点X,始点Y,終点X,終点Y,線の太さ,半透明値
#deffunc hgline int x1, int y1, int x2, int y2, int linew , int alpha
dx=x2-x1
dy=y2-y1
cX=dx/2+x1:cY=dy/2+y1
lineang=atan(dy,dx)+1.570796
linelong=sqrt(dx*dx+dy*dy)
gmode 3, linew, linelong, alpha
hgrect cX, cY, lineang
return
#global
screen 0,screenw,screenh
hgini
clscolor $007040
*main
mosXp=mousex :mosYp=mousey
; 描画メイン
title "mosXp:"+mosXp+"mosYp:"+mosYp+"dx"+dx
hgdraw
color 100,50,10
hgline 200,200,mosXp,mosYp,3,200
hgsync 15
goto *main
[986] HSP3.0β8 投稿者:Iwao.Hanma 投稿日:05/05/03(火) 11:21 <URL>
HSP3.0β8でHGIMG3.0β3のサンプルと付属のサンプルをすべて入れて、動作テストした。
小数点や配列を特別な関数を使用しなくても、カッコだけで、くくり作れることも私は知らなかったが、サンプルをすべて実行させて理解した。
HSPのおかげで、私がHSPで作ったツールのダウンロード数が、一ヶ月間だけで、軽く2万人突発した、HSPの作者のおかげだ!!
前のDLLファイルをどの程度使用できるかは、私も調べて見る。
[981] HSP3.0β8を公開しました 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:32
βテストのページでHSP3.0β8を公開しました。
検証や不具合のご報告を頂いた皆様、ありがとうございます。
引き続き、不具合やご意見などに対応していきたいと考えています。
今後とも宜しくお願い致します。
[962] HSPDA.DLLの開発状況 投稿者:はり〜ぽっちゃり 投稿日:05/04/29(金) 21:12
HSPDA.DLLの、SORTSTR関数はβ7に実装されているでしょうか?
[979] Re: HSPDA.DLLの開発状況 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:31
>HSPDA.DLLの、SORTSTR関数はβ7に実装されているでしょうか?
HSPDA.DLLは、HSP2.61版のものを収録しており、
2次元配列を扱うsortstr命令は、HSP3.0の仕様変更により現在正常に動作しません。
将来のバージョンでは、sortstr命令を修正したいと考えています。
[983] Re^2: HSPDA.DLLの開発状況 投稿者:くに 投稿日:05/05/03(火) 00:25 <URL>
> HSPDA.DLLは、HSP2.61版のものを収録しており、
> 2次元配列を扱うsortstr命令は、HSP3.0の仕様変更により現在正常に動作しません。
とりあえず、HSPDA.DLLは、ライブラリから、はずしておいた方が
いいと思います。紛らわしいですし。
[963] Re: HSPDA.DLLの開発状況 投稿者:くに 投稿日:05/04/30(土) 00:13 <URL>
こんにちは、くにです。
> HSPDA.DLLの、SORTSTR関数はβ7に実装されているでしょうか?
質問の意図から考えて、SORTSTR関数で、エラーが起きたのでしょうか?
そうでしたら、そのソースを公開していただけたら、参考になると思います。
あと、僕の調べたところ、
#include "hspda.as"
x = "a,あ,b,1,Hello"
mes x
sdim p,500,500
csvstr p, x
repeat 5
mes p.cnt
loop
stop
というスクリプトを実行すると、強制終了するようです。
たぶん、まだ、hspdaは、調整中なのだと思いますが、詳しいことは、
わかりません。
[965] Re^2: HSPDA.DLLの開発状況 投稿者:はり〜ぽっちゃり 投稿日:05/04/30(土) 06:19
くにさん、返信ありがとうございます。
文章が足りなくてすいません。
自分が考えていたのは、
#include "hspda.as"
x = "a","あ","b","1","Hello"
// ソート前の文字列を表示
repeat 5
mes " "+x.cnt
loop
// ソート命令
sortstr x
mes "---------------\n ↑ソート前\n\n ↓ソート後\n---------------"
// ソート後の文字列を表示
repeat 5
mes " "+x.cnt
loop
stop
こんな漢字のプログラムです。
ある配列の文字列をソートしようと思ったのですが、
どうもソートされないのです。
まだ、ベータ版なので未実装かどうか確認したいのです。
[966] Re^3: HSPDA.DLLの開発状況 投稿者:はり〜ぽっちゃり 投稿日:05/04/30(土) 06:24
うっかりしました、メモリの確保忘れました。
#include "hspda.as"
sdim x,64,5// メモリ確保
x = "a","あ","b","1","Hello"
// ソート前の文字列を表示
repeat 5
mes " "+x.cnt
loop
// ソート命令
sortstr x
mes "---------------\n ↑ソート前\n\n ↓ソート後\n---------------"
// ソート後の文字列を表示
repeat 5
mes " "+x.cnt
loop
stop
これならHSP2.61で正常に動作します。
[967] Re^4: HSPDA.DLLの開発状況 投稿者:くに 投稿日:05/04/30(土) 13:54 <URL>
こんにちは、はり〜ぽっちゃりさん。くにです。
動作確認しました。
3.0β版は、まったくソートされていませんね。
多分、バグだと思います。
おにたまさんは、COM関連の機能の実装で、お忙しいらしいので、
この辺は、後回しになっていたのかもしれません。
ですが、最近、COM関連の部分も一応、ひと段落付いたようなので、
これからは、モジュール関連の部分を強化するようです。
そのときは、ぜひHSPDAのバグを取り除いてほしいですね。
[968] Re^5: HSPDA.DLLの開発状況 投稿者:はり〜ぽっちゃり 投稿日:05/04/30(土) 16:31
くにさん、ありがとうございました。
[870] Xファイル形式に関しての質問 投稿者:33歳の地図 投稿日:05/04/06(水) 02:03
HSPには趣味でお世話になっております。
LightWaveから出力したX形式についての質問です。
モデルは問題なく表示されるのですが、
モーションつきのX形式はどうにも上手く行かないようです。
どなたかLightWaveのX形式を試みた方などいらっしゃいましたら、
情報を頂きたく思っております。
【LightWave7.5】【ディストームHPよりDLしたプラグイン】にて、
パラメータを色々変えて実験中です。
よろしくお願いします。
[910] Re: Xファイル形式に関しての質問 投稿者:おにたま(管理人) 投稿日:05/04/12(火) 19:47
>HSPには趣味でお世話になっております。
>LightWaveから出力したX形式についての質問です。
>モデルは問題なく表示されるのですが、
>モーションつきのX形式はどうにも上手く行かないようです。
>どなたかLightWaveのX形式を試みた方などいらっしゃいましたら、
>情報を頂きたく思っております。
ご報告ありがとうございます。
サンプルmonster.xのデータは、LightWave(7.5)から出力しているものですが、
フォーマットは、Textでないとうまくいかないようです。
何かお気づきの点や不具合などあれば、データとともにお知らせ頂ければ
こちらでも調べてみたいと思います。
[942] Re^2: Xファイル形式に関しての質問 投稿者:33歳の地図 投稿日:05/04/23(土) 17:48
お世話になっております。
別のデータを試したところ、また別の症状が発生したりしており、現象の特定が出来ておりません。もし宜しければ、
lightwaveのpluginのパネルの設定を教えて頂ければ、同一設定で、問題のあるデータ形状まで絞り込めると思います。
ちなみにLightwavepluginのサンプルとして付属している
Monster.x −>問題なくアニメ付き表示
ApeWalk39.x −>アニメ無しで表示
となりました。
自作のデータでは、モデラーから出力した固定データは問題無し、レイアウトから出力すると、場合によって様々な変化があるようです。
恐らく、こちらの設定の問題だと思いますので、なるべくこちらで条件が絞り込めればと思っています。
宜しくお願いします。
> >HSPには趣味でお世話になっております。
> >LightWaveから出力したX形式についての質問です。
> >モデルは問題なく表示されるのですが、
> >モーションつきのX形式はどうにも上手く行かないようです。
> >どなたかLightWaveのX形式を試みた方などいらっしゃいましたら、
> >情報を頂きたく思ってお閧ワす。
>
> ご報告ありがとうございます。
> サンプルmonster.xのデータは、LightWave(7.5)から出力しているものですが、
> フォーマットは、Textでないとうまくいかないようです。
> 何かお気づきの点や不具合などあれば、データとともにお知らせ頂ければ
> こちらでも調べてみたいと思います。
[978] Re^3: Xファイル形式に関しての質問 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:31
>別のデータを試したところ、また別の症状が発生したりしており、現象の特定が出来ておりません。
>もし宜しければ、
>lightwaveのpluginのパネルの設定を教えて頂ければ、同一設定で、問題のあるデータ形状まで
>絞り込めると思います。
こちらのテストでは、プラグイン設定はデフォルトのままでBINARY->TEXTにした
以外はいじっていません。
また問題が特定できましたら、お知らせ頂けると嬉しいです。
[873] Re: Xファイル形式に関しての質問 投稿者:cbird 投稿日:05/04/06(水) 12:21 <URL>
> モーションつきのX形式はどうにも上手く行かないようです。
> どなたかLightWaveのX形式を試みた方などいらっしゃいましたら、
> 情報を頂きたく思っております。
> 【LightWave7.5】【ディストームHPよりDLしたプラグイン】にて、
> パラメータを色々変えて実験中です。
> よろしくお願いします。
ためしにほぼ同じ環境(LW7.5+プラグインで出力)でアニメ付きのデータ
を出力してみました。結果問題なくデータはできました。
プラグインの設定はほぼディフォルトで変えたのは、テスクスチャーディ
デクトリーをテクスチャーの直上に変更、FormatをTEXTに変更、ExportTemp
latesをONに変更、といったところだけです。
データで注意したのは、スキンモデルであること、全てに最初と最後にキ
ーがあることです。
DX9付属のmview.exeと、DSのプラグインに付属していたDXView.exeで正常
に表示されることを確認しました。
残念ながらHPS3では正常に表示されませんでしたが・・・
・ウェイトが部分的に変で不完全にアニメが再生された
・TOONのアウトラインモデルは正常にアニメをしているのでずれて再生さ
れた
うーん、TOONの条件が絞り込めないなぁ
[874] Re^2: Xファイル形式に関しての質問 投稿者:33歳の地図 投稿日:05/04/06(水) 12:59
情報ありがとうございます。
こちらはモデルの形状によるものか、まったく表示されていません。
サンプルのmonster.xは通常どおり表示されているので、
monster.xを出力する祭のパラメーターの問題かとも思ったのですが。
HSP2.nの方で実験を試みて見ます。ありがとうございました。
今後の情報も期待して、以後のスレッドやHPを巡回させていただきます。
> > モーションつきのX形式はどうにも上手く行かないようです。
> > どなたかLightWaveのX形式を試みた方などいらっしゃいましたら、
> > 情報を頂きたく思っております。
> > 【LightWave7.5】【ディストームHPよりDLしたプラグイン】にて、
> > パラメータを色々変えて実験中です。
> > よろしくお願いします。
>
> ためしにほぼ同じ環境(LW7.5+プラグインで出力)でアニメ付きのデータ
> を出力してみました。結果問題なくデータはできました。
>
> プラグインの設定はほぼディフォルトで変えたのは、テスクスチャーディ
> デクトリーをテクスチャーの直上に変更、FormatをTEXTに変更、ExportTemp
> latesをONに変更、といったところだけです。
> データで注意したのは、スキンモデルであること、全てに最初と最後にキ
> ーがあることです。
>
> DX9付属のmview.exeと、DSのプラグインに付属していたDXView.exeで正常
> に表示されることを確認しました。
>
>
> 残念ながらHPS3では正常に表示されませんでしたが・・・
> ・ウェイトが部分的に変で不完全にアニメが再生された
> ・TOONのアウトラインモデルは正常にアニメをしているのでずれて再生さ
> れた
> うーん、TOONの条件が絞り込めないなぁ
[928] allocのp3 投稿者:t.hamaguti 投稿日:05/04/17(日) 01:08
開発お疲れ様です。(^_^)
allocの第3パラメータについてなのですが、これはまだ実装されて
いないのでしょうか?このパラメータを指定するとエラー18が出てし
まいます。
[976] Re: allocのp3 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:30
>allocの第3パラメータについてなのですが、これはまだ実装されて
>いないのでしょうか?このパラメータを指定するとエラー18が出てしまいます。
ご指摘ありがとうございます。
すみません、この部分はまだ未実装となっています。
[920] HSPスクリプトエディタプラグイン 投稿者:はり〜ぽっちゃり 投稿日:05/04/13(水) 18:55
おにたまさん、HSPβ7の公開、お疲れ様です。
最近ではスクリプトエディタが非常に高性能かつ高機能となり
非常にうれしい次第であります。本物のプログラマのすごさを
感じております。
そこでなのですが、エラーがDialogなどで表示された時に、
エラーが出た原因となる文が赤などで色がついたりすれば
後のデバッグ作業が非常にはかどると思います。
また、このようなスクリプトエディタの拡張で、
スクリプトエディタのプラグインのような物が導入できれば
おにたまさんの負担は減りますし、個性豊かなスクリプト
エディタがユーザによって実現すると思います。
[971] Re: HSPスクリプトエディタプラグイン 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:28
>そこでなのですが、エラーがDialogなどで表示された時に、
>エラーが出た原因となる文が赤などで色がついたりすれば
>後のデバッグ作業が非常にはかどると思います。
>また、このようなスクリプトエディタの拡張で、
>スクリプトエディタのプラグインのような物が導入できれば
>おにたまさんの負担は減りますし、個性豊かなスクリプト
>エディタがユーザによって実現すると思います。
スクリプトエディタの方は、Lonely Wolfさんの手によって
非常に高機能で良いものに仕上がってきていると思います。
エラー時の処理や、プラグインの導入なども今後の予定に
含まれていますので、大きな問題がなければ実現されると思います。
[919] HGIMG3.0βにあると便利な命令 投稿者:cbird 投稿日:05/04/13(水) 15:02 <URL>
HGIMG3.0βをここで扱ってもよいとのことでしたので、何か他に専用
の物が設置されるまでここに書こうと思います。
二つほどあると便利な命令があるので検討していただければ幸いで
す。
・ジョイントの情報を得る命令
指定したオブジェクトの特定のジョイントの情報を得る命令
(例:XXXオブジェクトのX番目のジョイント)
ローカル座標のXYZ、回転のXYZ、スケールのXYZ、ワールド座標のXY
Z
を取れれば色々便利だと思います。
キャラクターに物を持たせたり、パーティクルを特定の位置から出
しだりもできますし。
・アニメの補完
現状では<objact ObjID,Anim,mode>でアニメの切り替えができる
のですが、どうしてもアニメの繋ぎが気になります。最後に切り替え
の補完の時間が設定できてはどうでしょうか?
[970] Re: HGIMG3.0βにあると便利な命令 投稿者:おにたま(管理人) 投稿日:05/05/02(月) 23:27
>・ジョイントの情報を得る命令
>指定したオブジェクトの特定のジョイントの情報を得る命令
確かにあると便利そうですね。
ただ、ジョイントの角度について内部ではクォータニオンという
別な形式で持っているためXYZ回転に変換が難しい場合があるかもしれません。
>・アニメの補完
>現状では<objact ObjID,Anim,mode>でアニメの切り替えができる
>のですが、どうしてもアニメの繋ぎが気になります。最後に切り替え
>の補完の時間が設定できてはどうでしょうか?
アニメーションの合成は今のところサポートしていません。
するとしても、ちょっと時間のかかる作業になるかと思うので、
すぐに実現するのは難しいかと思います。
[969] β8の公開日時 投稿者:はり〜ぽっちゃり 投稿日:05/05/02(月) 16:19
β8の一般公開予定日時はいつですか?
[859] えーと 投稿者:鵜 投稿日:05/04/03(日) 15:24
お初です、鵜と申します。
今度ゲーム作ろうと思っているのですが、hspってflaファイルとかswfファイルとか読み込めましたっけ?
[961] Re: えーと 投稿者:数英知 投稿日:05/04/29(金) 17:56
ベータ版ではなく通常の掲示板向けの話題だと思われます。
THAGA氏作の
「minghsp」
というプラグインでswf形式を読み込むことが出来たと思います。
検索サイトで
hsp swf
等で検索すれば出てきます。
[960] Re: えーと 投稿者:鵜 投稿日:05/04/29(金) 12:20
> お初です、鵜と申します。
> 今度ゲーム作ろうと思っているのですが、hspってflaファイルとかswfファイルとか読み込めましたっけ?
あげます^^;