Copyright(C)1999
MSM Inc.
**********************************************************/
#include <stdio.h>
#include <D3DTYPES.H>
#include "mep_c.h"
meGlobalFunctions *pfGlobalFuncs;/*インターフェース関数テーブルのポインタを格納する変数*/
//オブジェクトIDを格納しておく変数です。1つのモーション内で複数のオブジェクトに対して
//プラグインを割り当てるには、この変数を配列にする等の措置が必要になります。
int ObjectID;
int ExampleIO;
/*
mePlugInit
-----------
説明:
プラグインがモーションエディターにロードされた時に呼び出され、プラ
グインを初期化します。
引数:
無し
*/
int _stdcall mePlugInit()
{
//変数初期化
pfGlobalFuncs = NULL;
return 0;
}
/*
mePlugSetup
-----------
説明:
プラグインがオブジェクトに割り当てられた時に呼び出され、プラ
グインの初期設定をします。
引数:
1.objid
モーションエディターで設定されているオブジェクトID。
この数値が-1ならば、無効なオブジェクトを意味します。
2.frameno
現在のフレーム番号です。
3.globalfuncs
インターフェース関数テーブルへのポインタです。
*/
int _stdcall mePlugSetup( int objid, int frameno, void* globalfuncs)
{
typedef int (_stdcall *ME_FUNC)();
ME_FUNC Funcs;
//DLLをロードします。
//HINSTANCE hDll=LoadLibrary("DLL名");
meObjectInfoFunctions *pfObjectInfo;
//モーションエディターから渡される、インターフェース関数テーブルへのポインタを
//グローバルポインタ変数に格納します。
pfGlobalFuncs = (meGlobalFunctions*) globalfuncs;
//Funcs=(ME_FUNC)GetProcAddress(hDll,"関数名");
//Funcs();
//DLLを解放します
//FreeLibrary(hDll);
return 0;
}
/*
mePlugEdit
----------
説明:
プラグインのパラメーターを編集する時に呼び出されます。
引数:
1.objid
編集対象になっているオブジェクトのIDです。
2.reserved
未使用です。機能拡張のため、将来使用する可能性があります。
*/
int _stdcall mePlugEdit( int objid, void *reserved)
{
//ここで、プラグインのパラメーターを設定するためのダイアログを表示させます。
return 0;
}
/*
mePlugFrame
-----------
説明:
モーションエディターの、現在のフレーム番号が変わった時に呼び出されます。
引数:
1.objid
フレーム変化時に、モーションエディターから渡されるオブジェクトIDです。
2.frameno
モーションエディターの、現在のフレーム番号です。
3.reserved
未使用です。機能拡張のため、将来使用する可能性があります。
*/
int _stdcall mePlugFrame( int objid, int frameno, void *reserved)
{
if( objid != ObjectID)
{
/*
エラー処理
*/
return -1;
}
return 0;
}
/*
mePlugReset
-----------
説明:
モーションエディターに新しいアニメーションデータがロードされた時に呼び出され、
プラグインの設定にリセットをかけます。
引数:
無し。
*/
int _stdcall mePlugReset()
{
pfGlobalFuncs = NULL;
ObjectID = -1;
return 0;
}
/*
mePlugRemove
------------
説明:
プラグインがオブジェクトから解放された時に呼び出されます。
引数:
モーションエディターから渡されるオブジェクトIDです。
*/
int _stdcall mePlugRemove( int objid)
{
pfGlobalFuncs = NULL;
ObjectID = -1;
return 0;
}
/*
mePlugGetP
----------
説明:
モーションエディターがアニメーションデータをセーブする時に呼び出され、
MSQファイルのObjectPlugInキーワードに記述されるパラメーターを設定します。
引数:
1.objid
モーションエディターがアニメーションデータをセーブする時に呼び出され、
MSQファイルのObjectPlugInキーワードに記述されるパラメーターを設定します。
2.params
MSQファイル内に記入するパラメーターへのポインタです(出力用)。
*/
int _stdcall mePlugGetP( int objid, char *params)
{
if( objid != ObjectID)
{
/*
エラー処理
*/
return -1;
}
sprintf( params, "%f",ExampleIO);
return 0;
}
/*
mePlugSetP
----------
説明:
モーションエディターがアニメーションデータをロードする時に呼び出され、
MSQファイルのObjectPlugInキーワードに記述されているパラメーターを取得します。
引数:
1.objid
モーションエディターから渡されるオブジェクトIDです。
2.params
MSQファイル内に記入されているパラメーターへのポインタです。
3.globalfuncs
インターフェース関数テーブルへのポインタです。
*/
int _stdcall mePlugSetP( int objid, char *params, void* globalfuncs)
{
pfGlobalFuncs = (meGlobalFunctions*) globalfuncs;
ObjectID = objid;
sscanf( params, "%f", &ExampleIO);
return 0;
}
/*
mePlugType
----------
説明:
プラグインのタイプを決定するために呼び出されます。
プラグイン設定ダイアログ上で表示されている名前がクリックされた時に
呼び出されます。
引数:
無し。
*/
int _stdcall mePlugType()
{
return MEPLUGIN_ANIMATION;
}
/*
mePlugDesc
----------
説明:
プラグイン設定ダイアログ上で表示される名前を設定します。
引数:
1.desc
名前文字列の先頭アドレスへのポインタです(出力用)。
*/
int _stdcall mePlugDesc( char *desc)
{
return strlen( strcpy( desc, "プラグイン名"));
}
/*
mePlugDone
----------
説明:
モーションエディターが終了する時に呼び出されます。
引数:
無し。
*/
int _stdcall mePlugDone()
{
return 0;
}
|
Copyright (c) 1999____ |
Micronet co.,Ltd |
| Micronet Software Manila Inc. |