LightGameProgrammingダウンロード

動作条件
本製品をお使いになるには以下の動作条件が必須となります。
@ Microsoft Windows 9x /Me / 2000 / XP の日本語版が動作する環境
A DirectX7.1 以上が動作する環境
 
使用条件
本製品はフリーウェアです。
個人での使用、及び商用での本製品の使用、および再配布は自由としますが、 本製品自体を有料販売する事は不可とします。 また、本製品で開発したプログラムの配布は自由/無料で行えます。
免責に関して
本製品を使用してのあらゆる影響については、いっさい責任を負いかねますのでご了承ください。 使用者ご自身の責任をもって解決してくださるようお願いいたします。
LGPの最新版は「LGP3」です。
どうしてもパレット機能を使いたい方は「LGP1」をご利用ください。ただし、開発はすでに終了しているので、万が一プログラムに問題があっても対策は行いません。ご注意ください。「LGP2」も開発終了です。
旧バージョンのダウンロード
名称 LGP3
機能 2D表示 拡大縮小/上下反転/回転/半透明等の特殊表示が出来る。
3D表示 Direct3D IMを使用した高速な3D表示が可能
演奏 DirectMusic機能を使用した MIDI / WAVE 演奏
入力 キーボード/ジョイスティック/マウス
※マウスはボタン8つまで対応
その他 CD制御/数値関数/文字列関数/ファイル関数/通信関数/システム関数等
必須システム Microsoft Windows 9x /Me / 2000 / XP 日本語版
DirectX7.1以上
実行ファイル ダウンロード
旧版(安定版です)
ver 01.03.40
公開日 2007.6.21
本体をダウンロード

実験中(まだ不安定・・・)
ver 01.03.45
公開日 2009.9.19
本体をダウンロード
マニュアル LGP3 マニュアル
公開日 2005.3.28
マニュアルをダウンロード
319KBYT
ソースコード ダウンロード 更新日 2001.11.25
ソースコードをダウンロードします

<開発板の変更内容/注意事項>
VER
変更日
変更内容/注意事項
LGP3
01.03.45
2009.9.19 以下の機能を追加しました。
・ATAN2、ASIN、ACOS、F@SEEK関数を追加しました。

以下の機能を改良しました。
・MID関数で文字列外の位置を指定して切り出した場合に、不正な値(正しくは0文字を取得する)を取得する問題を修正しました。
LGP3
01.03.44 
2009.9.2 以下の機能を修正しました。
・G@FLIP関数の挙動が不安定になる問題を修正しました。
・ソースコードに含まれる全角スペースを無視する処理に漏れがあり、プログラムエラーとなる場合がある問題を修正しました。
・WHEN文で「WHEN A=B:」とすると、「B:」をラベル定義と評価してしまう問題を修正しました。
LGP3
01.03.43
2009.8.31   機能修正
  • 01.03.42を捨てて新たに作り直しました
LGP3
01.03.42
2009.8.29  機能修正
  • 01.03.41を捨てて新たに作り直しました
 LGP3
01.03.41
2009.8.26    機能修正
  • 細かな不安定要素を改善するため、内部的にLGP4の処理に差し替えました。少し実験的な意味合いもあります・・・
LGP3
01.03.40
2007.6.21 機能修正
  • LGP3 01.03.39にも修正ミスが・・・修正しました。orz
LGP3
01.03.39
2007.6.8 機能修正
  • LGP3 01.03.38の修正ミスを修正しました。01.03.38は見なかったという方向で・・・m(_ _)m
LGP3
01.03.38
2007.6.4 機能修正
  • 関数内で文字列関数を実行するとメモリの開放漏れが発生し、メモリを消費してしまう不良を修正しました。
LGP3
01.03.37
2006.10.11 機能修正
  • ユーザ関数内でグローバル文字変数(STATICで定義した変数)に文字列の代入を行うとアプリの動作が不安定(文字列の文字化けが発生したり、アプリケーションエラーが発生)となる不良を修正しました。
LGP3
01.03.36
2006.7.30 機能追加
  • 通信機能でサーバに接続してきたユーザのIPアドレスを取得するP@SRVGETUSERIP関数を追加しました。
機能修正
  • ユーザ関数内で文字変数を扱うとメモリの開放漏れが発生し、メモリ資源を消費してゆく不良を修正しました。
LGP3
01.03.35
2006.5.9 機能修正
  • W@RELEASE関数で開放漏れが発生する不良を修正しました。
  • G3@MESHLOADで自動で読み込まれたテクスチャファイルと同じファイルをG3@TEXLOADで読み込み、G3@RELEASEで開放すると、G3@MESHLOADで読み込んだテクスチャも開放してしまう不良を修正しました。正しい動作は「G3@MESHLOAD及びG3@TEXLOADで同じファイルを読み込む場合、先に読み込んだテクスチャを共有し、共有するすべてのG3@MESHLOAD及びG3@TEXLOADを開放した時点でテクチャを開放する」です。
  • ごくまれにコンパイル時にLGPが異常終了する不良を修正しました。
その他
  • LGPで利用するVisualStadio6.0をSP5からSP6に更新しました。(セキュリティの脆弱性を改善するらしいです・・・・)
LGP3
01.03.34
2005.8.12 機能追加
  • Webサーバと通信する機能を追加しました。詳細はP@INET系関数を参照。
LGP3
01.03.32
2005.7.11 機能追加
  • 通信機能に暗号通信機能を追加しました。詳細はP系関数を参照。
LGP3
01.03.31
2005.4.15 機能修正
  • 一部環境でLGPで生成した 実行ファイル(***.exe)の実行で画面が表示されない不良を修正しました。(LGP3 ver01.03.20以降で発生)
LGP3
01.03.30
2005.3.28 機能追加
  • 通信機能関数を公開しました。詳細はP系関数を参照。
  • G@CHRMAKEで生成したキャラクタにG3@RENDERによる3Dの描画をできるようにしました。詳細はG3@RENDER参照。
  • エディット機能つき日本語入力の編集文字列の最大長をS@IMESETEDITLENで設定できるようにしました。
  • 特定のフレームのみを描画できるようになりました。詳細はG3@FRMSET参照。
機能修正
  • エディット機能つき日本語入力で先頭に文字を挿入したときに異常終了する不良を修正しました。
  • エディット機能つき日本語入力で文字列を入力後のカーソル位置が入力した文字列の後ろにくるように変更しました。
  • 非Insert時に半角文字が入力できない場合がある不良を修正しました。
LGP3
01.03.25
2005.3.23 機能追加
  • エディット機能つき日本語入力機能を実装しました。関数名は「S@IMExxx」です。
  • 文字列の指定のカラムが全角文字の先頭バイトであるかを調べる機能「S@KANJICHK」を追加しました。
  • 自ウィンドウがアクティブであるかを調べる機能「S@WINACTCHK」を追加しました。
  • DLL呼び出しを改良しました。これにより従来よりも利用可能な既存DLLが大幅に増えます。特に文字列型の引数を扱うDLLとの相性が強化されています。細かなところでは戻り値のない関数を定義できるようになった(従来は必要なくても定義が必要であった)とか、引数の文字列変数に文字列を入れて返す関数をあつかえます。戻り値に文字列が利用できるようになりました。ほかにもいろいろ。詳細はEXFUNCを参照。
  • 文字列変数の格納できる最大長を拡張する関数「LSTR」を追加しました。
  • 3Dで特定のフレームを描画しないようにできるようなりました。詳細はG3@FRMSET(LG3_ENABLEパラメータ)を参照。
  • G@CHRMAKEで生成したキャラクタに3Dを描画できるようになりました。詳細はG3@RENDERを参照。
機能修正
  • G@SETUPの実行に失敗した場合のLGP終了時に異常終了となる不良を修正しました。
LGP3
01.03.20
2005.1.3 機能追加
  • 日本語入力機能を実装しました。関数名は「S@IMExxx」です。
機能修正
  • 引数の多いユーザ関数内でユーザ関数を使用するとLGPのコンパイルで異常終了することがある不良を修正しました。
  • スプライトの開放など開放処理を行っているプログラムを終了する際に異常終了してしまうことがある不良を修正しました。
LGP3
01.03.14
2004.12.18 機能改善
  • DLL呼出し「EXFUNC」を使用すると異常終了する不良を修正しました。
LGP3
01.03.13
2004.12.13 機能追加
  • ポリゴンの表示を滑らかにするフィルタ効果を実装しました。3D全体の設定は「G3@DEVSETFILTER」、フレーム毎にフィルタ(ポイントフィルタ)を設定するには「G3@FRMSET」を使用してください。本設定はスプライトのフィルタ効果「G3@SPSET」に影響を与えます。<サンプル>
  • G3@SPSET関数のLG3_SP_FILTERに設定値「LG3_SP_TFG_NONE」を追加しました。
仕様変更
  • スプライトのフィルタ効果(G3@SPSETのLG3_SP_FILTERで設定する)のデフォルト値を「旧:フィルタあり」から「新:フィルタなし」に変更となりました。
LGP3
01.03.12
2004.11.24 機能改善
  • ポイントフォグが反映されない場合がある不良を修正しました。
LGP3
01.03.11
2004.11.23 機能追加
  • フレーム毎にフォグ(ポイントフォグ)のON/OFFが設定できます。「G3@FRMSET」
  • スプライト毎にフォグ(ポイントフォグ)のON/OFFが設定できます。「G3@SPSET」
LGP3
01.03.10
2004.10.12 機能改善
 (01.03.02以降に個別に提供したバージョンを含みます)
  • 01.02.30以降でメッシュの透明色を指定も反映されない場合がある不良を修正しました。
  • 01.02.30以降でBMPファイルの暗号処理で復号できない(画面がノイズ状態)場合がある不良を修正しました。
  • LGPで生成したプログラムの終了時に異常終了となる場合がある不良を修正しました。
LGP3
01.02.32
2004.5.16 機能改善
  • 「G@CHRSAVE」で暗号化したファイルを復号かできない、又は異常終了する問題を改善しました。
LGP3
01.02.30
2004.5.12 機能追加
  • 読み込んだテクスチャを「G3@MESHSETTEX」でメッシュに関連つけることができる。
  • 「G@MESHSETTEX」でメッシュに割り当てたテクスチャでメッシュの各頂点をテクスチャのどの座標に割り当てるのかを「G@VERTEXSETUV」関数で指定できる。
仕様変更
  • 「G3@TEXFROMCHAR」の引数順が変更となりました。
機能改善
  • 「G3@VERTEXSETCOLOR」がエラーとなる不良を修正しました。
  • 「G3@FRMSETMATERIAKMODE」で上位フレームからの継承が途切れることがある不良を修正しました。
  • フルスクリーン状態からLGPを終了した際にLGP開始時に開いていたウィンドウのサイズが変更されてしまう不良を改善した(模様・・・多分)
LGP3
01.02.26
2004.4.18 機能改善
  • 読み込んだテクスチャを「G3@RELEASE」で開放できるようになりました。
LGP3
01.02.25
2003.10.16 機能改善
  • DLLの呼び出しに失敗する不良を修正しました。
LGP3
01.02.24
2003.10.9 機能改善
  • MIDI演奏関数「M@系関数」の処理を見直しました。本バージョンからM@SETUPは実行不要になりました。(実行してもOKです)
  • MIDI演奏関数「M@系関数」のマニュアルを改訂しました。
LGP3
01.02.22
2003.7.27 機能改善
  • フォグの処理速度を向上しました
機能修正
  • 一旦フォグを有効にすると無効にする事ができない不良を修正しました。
LGP3
01.02.20
2003.7.16 機能追加
  • 3D画面のオブジェクトにフォグ効果を与える関数「G3@DEVSETFOGMODE」「G3@DEVSETFOGCOLOR」「G3@DEVSETFOGSTART」「G3@DEVSETFOGEND」を実装しました。取りあえず「G3@DEVSETFOGMODE」を実行すればフォグ効果が出ます。後は残りの関数で調整してください。
LGP3
01.02.12
2003.6.11 機能修正
  • 3Dと2Dの合成が出来なくなっていた不良を修正しました。
LGP3
01.02.11
2003.6.5 機能修正
  • G3@FRMLOAD及びG3@MESHLOADで読み込んだテクスチャの黒色抜き色(黒い部分を透明にする)ができない不良を修正しました。
LGP3
01.02.10
2003.3.31 機能修正
  • 一部の機種で透明処理が有効とならないバグを修正しました。
LGP3
01.02.09
2003.1.25 機能改善
  • コンパイル速度を向上しました。ただしコンパイルは元々速いので相当大きなプログラムでないと違いは分からないかもしれません・・・意味なしか・・・
機能修正
  • G@CHRCOPY関数で右と下が欠ける不良を修正しました。
LGP3
01.02.08
2002.12.17 機能修正
  • LGP3 01.02.07の修正ミスを対策しました。こんどこそ・・・
LGP3
01.02.07
2002.12.16 機能修正
  • G3@MESHLOADおよびG3@FRMLOAD関数で複数のファイルを読み込むとエラーとなる不良を修正しました。
LGP3
01.02.06
2002.11.4 機能改善
  • SYSTIME関数の性能を改善しました。
機能追加
  • 3Dでフルシーンアンチエイリアシングの有効にする「G3@DEVSETANTIALIAS」関数を追加しました。
LGP3
01.02.04
2002.10.6 機能修正
  • M@SETUP関数の安定性を改善しました。
  • I@KEYGET関数とI@KEYGET2関数を同時に使用できるように修正しました。
LGP3
01.02.03
2002.9.23 機能改善
  • スプライトの描画速度を”さらに”向上しました。環境にもよりますが私の所では「LGP3 01.02.02 の 5倍速」になりました。と言うことは、LGP3 01.02.01から比べて「15倍速」です。これがまた冗談ではないからびっくり。あらゆる意味で恐ろしいDirectXです。
LGP3
01.02.02
2002.9.23 機能改善
  • スプライトの描画速度を向上しました。環境にもよりますが私の所では「3倍速」になりました。DirectXの関数を実行する回数を最小限になるように見直しました。まだ数十%の速度向上は出来そうですが、まだ調査に時間が必要なので先にここまで公開します。
LGP3
01.02.01
2002.7.21 機能追加
  • 直線、長方形、楕円、弓形、扇形を描画する2D関数を12個追加しました。詳細はマニュアルを参照願います。
LGP3
01.02.00
2002.6.1 機能改善
  • デバッグ機能の再リリースです。ver 01.01.00とはまったくの別物の新規実装です。だいぶ実用的になりました。
機能修正
  • スプライトの回転の計算が誤っていたのを修正しました。
LGP3
01.01.06
2002.5.9 機能修正
  • G3@DEVSETBACKCOLOR関数を実行すると背景の2D描画を消してしまう不良を修正しました。
LGP3
01.01.05
2002.5.9 機能追加
  • 3Dでフレームやメッシュを透明にする機能を実装しました。G3@FRMSET及びG3@MESHSETを追加しました。詳細は同関数及びG3@FRMSETCOLORA及びG3@MESHSETCOLORAを参照して下さい。
機能修正
  • G3@DEVSETBACKCOLOR関数の設定値が反映されない不良を修正しました。
LGP3
01.01.00
2002.5.6 機能追加
  • デバッグツールを追加しました。まだ、まだ、調整が出来ていませんが・・・Visual C++に近い操作性になっています。
LGP3
01.00.11
2002.4.19 機能修正
  • G3@SPDRAW関数を実行するとそれ以降G3@RENDER関数で描画が行われなくなる不良を修正しました。
LGP3
01.00.10
2002.4.5 機能追加
  • デバッグ機能を追加しました。実行中にエラーとなり停止した際にエラーとなった関数の情報(数値変数と文字変数のみ)を「LGP_debug.txt」ファイルに出力します。なおLGPで生成した実行モジュールの実行時には出力されません。本機能は、開発中のものであるため仕様の変更が発生します。
LGP3
01.00.00
2002.4.3 機能追加
  • 3Dで フレームを描画する座標を取得する「G3@FRMGETDATA」関数を追加しました。
LGP3
00.01.22α
2002.3.23 機能追加
  • CDの演奏を一旦停止する「MM@CDPAUSE」関数を追加しました。
機能修正
  • G3@TEXMAKE関数が一部のビデオカードでエラーとなる不良を修正しました。
  • G3@FRMSETAMBIENT関数の不良を修正しました。指定が反映されませんでした。
LGP3
00.01.20α
2002.3.18 機能追加
  • 3D描画でライト関係の機能を大幅増強しました。「G3@LIGHTSETPOS」「G3@LIGHTSETDIR」「G3@LIGHTSETUMBRA」「G3@LIGHTSETPENUMBRA」を追加しました。
仕様変更
  • 3D描画でライトの初期値を変更しました。
LGP3
00.01.13α
2002.2.20 機能追加
  • 3D描画での視野角を変更する「G3@CAMERASETFOV」関数を追加しました。
  • 3D描画で描画する範囲をカメラ(視点)からの距離で指定できる「G3@CAMERASETPRO」関数を追加しました。
仕様変更
  • 3D描画での視野角を旧120度程度から新90度に変更します。多少見た目が変わってしまうので変更をお願います。
  • G@SETUP関数で画面の初期化を行うようしました。(従来は初期化していない)
LGP3
00.01.10α
2002.2.8 機能追加
  • 3D関数に以下の関数を追加しました。
    • G3@DEVSETCULL:背面を向けるフェース(面)を描画させない指定する機能
    • G3@FRMSETAMBIENT:フレームにアンビエント光源(環境光)を設定する。
機能修正
  • Windows2000 使用時ソースコードのドラッグ&ドロップでLGPがソースコードを認識しない不良を修正しました。
  • 3Dで一つのメッシュに8000以上のフェースを登録するとLGPが異常終了する不良を修正しました。
  • G3@RENDER関数を実行すると画面が初期化される不良を修正しました。G3@RENDER関数実行前に2Dで描いた画像はG3@RENDER関数の実行でクリアされなくなりました。
LGP3
00.01.05α
2002.1.25 機能追加
機能修正
  • G@CHRLOAD関数の異常終了問題を修正しました。
  • G@SETUP関数のリターンメッセージの見直しました。
LGP3
00.01.02α
2001.12.1 機能修正
  • #defineを実行するとプログラムがフリーズしてしまう不良を修正しました。
  • G3@RELEASEで異常終了する不良を修正しました。
LGP3
00.01.01α
2001.11.28 機能修正
  • 階層を持つフレームで子フレームに位置や回転を継承されない不良を修正しました。
LGP3
00.01.00α
2001.11.24 取りあえず公開・・・