●PRECACHE_MODEL int PRECACHE_MODEL(char* s) ○引数 char* s modelファイル名 ○戻り値 エンジンより割り当てられたmodelデータのインデックス番号。 ○使用例 model_index = PRECACHE_MODEL( "models/tree.mdl" ); ・説明 引数sで指定されたmodelファイル(*.mdl)のインデックス番号を得る。 未キャッシュのmodelデータはメモリへキャッシュし、インデックス番号を新規に割り当てる。
●PRECACHE_SOUND int PRECACHE_SOUND(char* s) ○引数 char* s soundファイル名 ○戻り値 エンジンより割り当てられたsoundデータのインデックス番号。 ○使用例 sound_index = PRECACHE_SOUND( "models/tree.mdl" ); ・説明 引数sで指定されたsoundファイル(*.wav)のインデックス番号を得る。 未キャッシュのsoundデータはメモリへキャッシュし、インデックス番号を新規に割り当てる。
●SET_MODEL void SET_MODEL(edict_t *e, const char *m) ○引数 edict_t *e 割り当て対象のentity const char *m modelファイル名 ○戻り値 なし。 ○使用例 SET_MODEL( entity, "models/w_weaponbox.mdl"); ・説明 引数mで指定されたmodelファイル(*.mdl)を引数eで指定されたentityのmodelとして割当てる。 おそらく未キャッシュのmodelデータはメモリへキャッシュされ、インデックス番号が新規に割り当てられる。
●MODEL_INDEX int MODEL_INDEX(const char *m) ○引数 const char *m modelファイル名 ○戻り値 エンジンより割り当てられているmodelデータのインデックス番号。 ○使用例 mode_index = MODEL_INDEX("models/w_weaponbox.mdl"); ・説明 引数mで指定されたmodelファイル(*.mdl)のインデックス番号を得る。 PRECACHE_MODELにて既にキャッシュ済みのmodelに対して使用する関数と考えられるが、PRECACHE_MODEL でも同様の処理ができるため、使用する必要なし。
●MODEL_FRAMES int MODEL_FRAMES(int modelIndex) ○引数 int modelIndex modelインデックス番号 ○戻り値 指定されたmodelファイル(*mdl)内のフレーム総数。 ○使用例 m_maxFrame = (float) MODEL_FRAMES( pev->modelindex ) - 1; ・説明 引数mで指定されたmodelファイル(*.mdl)のフレーム総数を得る。
●SET_SIZE void SET_SIZE(edict_t *e, const float *rgflMin, const float *rgflMax) ○引数 edict_t *e サイズ設定対象のentity const float *rgflMin サイズBOXの最下位相対座標(3次元配列) const float *rgflMax サイズBOXの最上位相対座標(3次元配列) ○戻り値 なし。 ○使用例 SET_SIZE( entity, vecMin, vecMax ); ・説明 引数eで指定されたentityのサイズを設定する。
●CHANGE_LEVEL void CHANGE_LEVEL(char* s1, char* s2) ○引数 char* s1 移行先のマップ名 char* s2 マップの位置指定 ○戻り値 なし。 ○使用例 CHANGE_LEVEL( st_szNextMap, st_szNextSpot ); ・説明 引数s1で指定されたマップへマップを変更し、引数s2で指定された位置へプレイヤーを配置。 s2指定の必要が無い場合はNULLを指定する。
●GET_SPAWN_PARMS void GET_SPAWN_PARMS(edict_t *ent) ○引数 edict_t *ent 生成パラメタを取得するentity ○戻り値 なし。 ・説明 不明。
●SAVE_SPAWN_PARMS void SAVE_SPAWN_PARMS(edict_t *ent) ○引数 edict_t *ent 生成パラメタを保存するentity ○戻り値 なし。 ・説明 不明。
●VEC_TO_YAW float VEC_TO_YAW(const float *rgflVector) ○引数 const float *rgflVector 3次元ベクトル(3次元配列) ○戻り値 水平方向を示すdegree値。 ○使用例 yaw = VEC_TO_YAW(vec); ・説明 引数rgflVectorで示された3次元ベクトルの水平(左右)方向をdegree値(-180°〜180°)として得る。
●VEC_TO_ANGLES void VEC_TO_ANGLES(const float *rgflVectorIn, float *rgflVectorOut) ○引数 const float *rgflVectorIn 3次元ベクトル(3次元配列) const float *rgflVector アングル変換結果(3次元配列) ○戻り値 なし。 ○使用例 VEC_TO_ANGLES(vec, rgflVecOut); ・説明 引数rgflVectorInで示された3次元ベクトルをdegree値(-180°〜180°)として得る。 結果はそれぞれrgflVectorの配列内に得られる。 rgflVector[0] 垂直(上下)方向のdegree値 rgflVector[1] 水平(左右)方向のdegree値 rgflVector[2] 傾きのdegree値
●MOVE_TO_ORIGIN void MOVE_TO_ORIGIN(edict_t *ent, const float *pflGoal, float dist, int iMoveType) ○引数 edict_t *ent 移動対象のentity const float *pflGoal 移動方向3次元ベクトル(3次元配列) float dist 移動距離 int iMoveType entity移動種 ○戻り値 なし。 ・説明 引数entで指定したentityをpflGoalで示された3次元ベクトル方向へdistで指定された距離だけ移動させる。 iMoveTypeにはentityの移動種(地上歩行、飛行等)を指定するものと思われる。
●oldCHANGE_YAW void oldCHANGE_YAW(edict_t* ent) ○引数 edict_t *ent 水平(左右)方向転換対象のentity ○戻り値 なし。 ・説明 不明。水平(左右)方向転換に使用されることが予想されるが、全く使用されていない。
●CHANGE_PITCH void CHANGE_PITCH(edict_t* ent) ○引数 edict_t *ent 垂直(上下)方向転換対象のentity ○戻り値 なし。 ・説明 不明。垂直(上下)方向転換に使用されることが予想されるが、全く使用されていない。
●FIND_ENTITY_BY_STRING edict_t* FIND_ENTITY_BY_STRING(edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue) ○引数 edict_t *pEdictStartSearchAfter 前回検索結果のentity const char *pszField 検索対象のフィールド const char *pszValue 検索対象のフィールド値 ○戻り値 検索条件に合致したentity。検索に合致するentityが見つからなかった場合はNULLを返却。 ○使用例 FIND_ENTITY_BY_STRING(entStart, "classname", "player"); ・説明 entityリストにおいて引数pszFieldで示したフィールドの値がpszValueと合致するentityを検索する。 引数pEdictStartSearchAfterには初回NULLを指定し、検索に合致するentityが見つかった場合は次回 検索時に引数pEdictStartSearchAfterとして使用する。検索がリストの終端に達した場合(検索に合致 するentityが見つからない場合)は戻り値にはNULLが返却される。
●GETENTITYILLUM int GETENTITYILLUM(edict_t* pEnt) ○引数 edict_t* pEnt 光量取得対象のentity ○戻り値 entityの光量。 ・説明 引数pEntで指定されたentityの持つ光量(ライトレベル)を得る。
●FIND_ENTITY_IN_SPHERE edict_t* FIND_ENTITY_IN_SPHERE(edict_t *pEdictStartSearchAfter, const float *org, float rad) ○引数 edict_t *pEdictStartSearchAfter 検索を開始するentity const float *org 中心座標(3次元配列) float rad 対象空間の半径 ○戻り値 entityの光量。 ・説明 entityリストにおいて引数orgで示した座標を中心とする半径rad以内の空間に位置するentityを検索する。 引数pEdictStartSearchAfterには初回NULLを指定し、検索に合致するentityが見つかった場合は次回 検索時に引数pEdictStartSearchAfterとして使用する。検索がリストの終端に達した場合(検索に合致 するentityが見つからない場合)は戻り値にはNULLが返却される。
●FIND_CLIENT_IN_PVS edict_t* FIND_CLIENT_IN_PVS(edict_t *pEdict) ○引数 edict_t *pEdict 空間検索を行うentity ○戻り値 entityの空間内に位置するプレイヤー。見つからなかった場合はNULLを返却。 ・説明 引数pEdictで指定されたentityのサイズ空間内に存在するプレイヤーを探す。
●FIND_ENTITIES_IN_PVS ※未定義 #define FIND_ENTITIES_IN_PVS (*g_engfuncs.pfnFindEntitiesInPVS) edict_t* FIND_ENTITIES_IN_PVS(edict_t *pplayer) ○引数 edict_t *pEdict 空間検索を行うentity ○戻り値 entityの空間内に位置するentity。見つからなかった場合はNULLを返却。 ・説明 引数pEdictで指定されたentityのサイズ空間内に存在するentityを探す。
●MAKE_VECTORS void MAKE_VECTORS(const float *rgflVector) ○引数 const float *rgflVector 各アングルのdegree値(3次元配列) ○戻り値 なし。 ・説明 引数rgflVectorに指定された垂直方向、水平方向、傾きのdegree値(-180°〜180°)を 3次元ベクトルに変換する。
●ANGLE_VECTORS ※未定義 #define MAKE_VECTORS (*g_engfuncs.pfnAngleVectors) void MAKE_VECTORS(const float *rgflVector, float *forward, float *right, float *up) ○引数 const float *rgflVector 各アングルのdegree値(3次元配列) float *forward 前方ベクトル(3次元配列) float *right 右方ベクトル(3次元配列) float *up 上方ベクトル(3次元配列) ○戻り値 なし。 ・説明 引数rgflVectorに指定された垂直方向、水平方向、傾きのdegree値(-180°〜180°)に対する 前方、右方、上方のベクトルを得る。
●CREATE_ENTITY edict_t* CREATE_ENTITY(void) ○引数 なし。 ○戻り値 新規に作成されたentity。 ・説明 新規にentityを作成する。
●REMOVE_ENTITY void REMOVE_ENTITY(edict_t* e) ○引数 edict_t* e 削除するentity ○戻り値 なし。 ・説明 引数eに指定されたentityを削除する。
●REMOVE_ENTITY void REMOVE_ENTITY(edict_t* e) ○引数 edict_t* e 削除するentity ○戻り値 なし。 ・説明 引数eに指定されたentityを削除する。
●CREATE_NAMED_ENTITY edict_t* CREATE_NAMED_ENTITY(int className) ○引数 int className クラス名のstringインデックス番号 ○戻り値 なし。 ○使用例 CREATE_NAMED_ENTITY( MAKE_STRING("bot")); ・説明 classNameに指定されたstringインデックス番号に対応するクラス名を持つentityを新規作成する。
●MAKE_STATIC void MAKE_STATIC (edict_t *ent) ○引数 edict_t *ent static化するentity ○戻り値 なし。 ・説明 引数entに指定されたentityをstatic化するstatic化されたentityはレベル終了まで削除されな くなる。
●ENT_IS_ON_FLOOR int ENT_IS_ON_FLOOR(edict_t *e) ○引数 edict_t *e 接地確認対象のentity ○戻り値 不明。 ・説明 引数eで指定されたentityが接地しているかどうかを確認するための関数であると思われる。
●DROP_TO_FLOOR int DROP_TO_FLOOR(edict_t* e) ○引数 edict_t *e 接地させるentity ○戻り値 0以外で正常終了。0であった場合はentityがレベルの空間外にあること(壁に食い込んでいる等) を示す。 ・説明 引数eで指定されたentityを完全に接地させる。アイテム類等はマップ作成時に空中に浮いた状態 になっている場合があるため、レベル開始時には完全に接地させる必要がある。
●WALK_MOVE int WALK_MOVE(edict_t *ent, float yaw, float dist, int iMode) ○引数 edict_t *ent 歩行移動させるentity float yaw 移動方向のdegree値 float dist 移動距離指定 int iMode 移動種? ○戻り値 不明。 ・説明 引数entで指定されたentityをyawで指定された方向へdistで指定された距離だけ移動 させる関数であると思われる。
●SET_ORIGIN void SET_ORIGIN(edict_t *e, const float *rgflOrigin) ○引数 edict_t *e 位置設定対象のentity const float *rgflOrigin 設定する位置座標(3次元配列) ○戻り値 なし。 ・説明 引数eで指定されたentityの位置座標をrgflOriginに設定する。
●EMIT_SOUND_DYN2 void EMIT_SOUND_DYN2(edict_t *entity, int channel, const char *sample,float volume, float attenuation, int fFlags, int pitch) ○引数 edict_t *entity 発声対象のentity int channel 発声チャンネル CHAN_AUTO 0 自動選択 CHAN_WEAPON 1 武器用チャンネル CHAN_VOICE 2 声用チャンネル CHAN_ITEM 3 アイテム用チャンネル CHAN_BODY 4 ボディ用チャンネル CHAN_STREAM 5 ストリーム再生用チャンネル CHAN_STATIC 6 静止物発声用チャンネル const char *sample サウンドファイル名(*.wav) float volume 再生ボリューム(0〜1.0) float attenuation 減衰率(0〜?) ATTN_NONE 0 ATTN_NORM 0.8 ATTN_IDLE 2 ATTN_STATIC 1.25 int fFlags フラグ(用途不明、通常0) int pitch 音程(100を中心として0〜255) PITCH_NORM 100 音程変化無し PITCH_LOW 95 ややピッチダウン状態 PITCH_HIGH 120 ややピッチアップ状態 ○戻り値 なし。 ○使用例 EMIT_SOUND_DYN( ent, CHAN_WEAPON, "items/suitchargeok1.wav", 1, ATTN_NORM, 0, 150 ); ・説明 指定されたentityから音声を発する。
●EMIT_AMBIENT_SOUND void EMIT_AMBIENT_SOUND(edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch) ○引数 edict_t *entity 発声対象のentity float *pos 発声位置座標(3次元配列) const char *sample サウンドファイル名(*.wav) float volume 再生ボリューム(0〜1.0) float attenuation 減衰率(0〜?) ATTN_NONE 0 ATTN_NORM 0.8 ATTN_IDLE 2 ATTN_STATIC 1.25 int fFlags フラグ(用途不明、通常0) int pitch 音程(100を中心として0〜255) PITCH_NORM 100 音程変化無し PITCH_LOW 95 ややピッチダウン状態 PITCH_HIGH 120 ややピッチアップ状態 ○戻り値 なし。 ・説明 引数eで指定されたentityによってposで指定された位置でサウンドを発声させる。
●TRACE_LINE void TRACE_LINE(const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr) ○引数 const float *v1 トレース始点(3次元配列) const float *v2 トレース終点(3次元配列) int fNoMonsters モンスタートレース除外フラグ ignore_monsters 1 モンスター無視 dont_ignore_monsters 0 モンスター missile 2 ミサイル edict_t *pentToSkip トレース対象外とするentity TraceResult *ptr トレース結果(トレース構造体) ○戻り値 なし。 ・説明 引数v1、v2で指定された座標間の線上をトレースし、物体に衝突するかどうかを調べる。
●TRACE_TOSS void TRACE_TOSS(edict_t* pent, edict_t* pentToIgnore, TraceResult *ptr) ○引数 edict_t* pent トレース元entity edict_t* pentToIgnore トレース対象外とするentity TraceResult *ptr トレース結果(トレース構造体) ○戻り値 なし。 ・説明 引数pentで指定されたentityのサイズBOXを侵した状態にある物体を調査する関数であると思われる。
●TRACE_MONSTER_HULL int TRACE_MONSTER_HULL(edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr) ○引数 edict_t *pEdict トレースを行なうentity const float *v1 トレース始点(3次元配列) const float *v2 トレース終点(3次元配列) int fNoMonsters モンスタートレース除外フラグ ignore_monsters 1 モンスター無視 dont_ignore_monsters 0 モンスター missile 2 ミサイル edict_t *pentToSkip トレース対象外とするentity TraceResult *ptr トレース結果(トレース構造体) ○戻り値 なし。 ・説明 引数v1、v2で指定された座標間をpEdictに指定されたentityのサイズBOXでトレースし、物体に衝突するかどうかを調べる。
●TRACE_HULL void TRACE_HULL(const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr) ○引数 const float *v1 トレース始点(3次元配列) const float *v2 トレース終点(3次元配列) int fNoMonsters モンスタートレース除外フラグ ignore_monsters 1 モンスター無視 dont_ignore_monsters 0 モンスター missile 2 ミサイル int hullNumber トレースBOX種? point_hull=0 human_hull=1 large_hull=2 head_hull=3 edict_t *pentToSkip トレース対象外とするentity TraceResult *ptr トレース結果(トレース構造体) ○戻り値 なし。 ・説明 引数v1、v2で指定された座標間をhullNumberに指定されたサイズBOX種でトレースし、物体に衝突するかどうかを調べる関数であると思われる。
●TRACE_MODEL ※未定義 #define TRACE_MODEL (*g_engfuncs.pfnTraceModel) void TRACE_MODEL(const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr) ○引数 const float *v1 トレース始点(3次元配列) const float *v2 トレース終点(3次元配列) int hullNumber トレースBOX種? point_hull=0 human_hull=1 large_hull=2 head_hull=3 edict_t *pent トレース対象外とするentity? TraceResult *ptr トレース結果(トレース構造体) ○戻り値 なし。 ・説明 引数v1、v2で指定された座標間をhullNumberに指定されたサイズBOX種でトレースし、物体に衝突するかどうかを調べる関数であると思われる。 判定対象の判定範囲はBOXではなくModelの閉鎖空間であると思われる。
●TRACE_TEXTURE const char *TRACE_TEXTURE(edict_t *pTextureEntity, const float *v1, const float *v2 ) ○引数 edict_t *pTextureEntity トレース判定対象のentity const float *v1 トレース始点(3次元配列) const float *v2 トレース終点(3次元配列) ○戻り値 テクスチャ名 ・説明 引数v1、v2で指定された座標間の線上をトレースし、pTextureEntityに指定されたentityのテクスチャ面に衝突した場合、そのテクスチャ面の名前の 文字列ポインタを返却する。
●TRACE_SPHERE ※未定義 #define TRACE_SPHERE (*g_engfuncs.pfnTraceSphere) void TRACE_SPHERE(const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr) ○引数 const float *v1 トレース始点(3次元配列) const float *v2 トレース終点(3次元配列) int fNoMonsters モンスタートレース除外フラグ ignore_monsters 1 モンスター無視 dont_ignore_monsters 0 モンスター missile 2 ミサイル float radius 半径 edict_t *pentToSkip トレース対象外とするentity TraceResult *ptr トレース結果(トレース構造体) ○戻り値 なし。 ・説明 引数v1、v2で指定された座標間の線上を半径radiusの球体でトレースし、何らかの物体に衝突するかどうかを調べる関数である。
●GET_AIM_VECTOR void GET_AIM_VECTOR(edict_t* ent, float speed, float *rgflReturn) ○引数 edict_t* ent 照準方向取得対象のentity float speed ? float *rgflReturn 照準の方向戻り値格納 ○戻り値 なし。 ・説明 引数entで指定されたentityの照準方向をrgflReturnへ3次元ベクトルとして得る。 speedの用途は不明。
●SERVER_COMMAND void SERVER_COMMAND(char* str) ○引数 char* str コマンドライン ○戻り値 なし。 ○使用例 SERVER_COMMAND("reload\n"); ・説明 引数strに記述されたサーバーコマンドを実行する。
●SERVER_EXECUTE void SERVER_EXECUTE(void) ○引数 なし。 ○戻り値 なし。 ・説明 サーバーを始動する。
●CLIENT_COMMAND void CLIENT_COMMAND(edict_t* pEdict, char* szFmt, ...) ○引数 edict_t* pEdict コマンド実行元クライアント char* szFmt 書式制御文字列 ... オプションの引数 ○戻り値 なし。 ○使用例 CLIENT_COMMAND ( pClient, "cd pause\n"); ・説明 引数pEdictに指定されたクライアントentityに書式szFmtに記されたコマンドを実行させる。
●PARTICLE_EFFECT void PARTICLE_EFFECT(const float *org, const float *dir, float color, float count) ○引数 const float *org 始点(3次元配列) const float *dir 方向(3次元配列) float color 色指定 float count 表示時間 ○戻り値 なし。 ・説明 引数org指定された地点からdir方向へ飛沫を飛ばす。countは恐らく飛沫の表示時間であると思われる。
●LIGHT_STYLE void LIGHT_STYLE(int style, char* val) ○引数 int style 発光スタイル番号(0〜63) char* val 発光パターン ○戻り値 なし。 ○使用例 LIGHT_STYLE(11, "abcdefghijklmnopqrrqponmlkjihgfedcba"); ・説明 ライトの発光パターンを定義する。任意のスタイル番号に対して'a'(暗)〜'z'(明)のアルファベットによって 発光パターンを定義する。
●DECAL_INDEX int DECAL_INDEX(const char *name) ○引数 const char *name デカール名 ○戻り値 デカールのインデックス番号。 ・説明 引数nameに指定されたデカール名に対するインデックス番号を得る。 デカールは壁に貼りつけられる弾痕や血痕、焼け跡の画像を意味する。
●POINT_CONTENTS int POINT_CONTENTS(const float *rgflVector) ○引数 const float *rgflVector 座標(3次元配列) ○戻り値 コンテンツ番号。 CONTENTS_EMPTY -1 CONTENTS_SOLID -2 CONTENTS_WATER -3 CONTENTS_SLIME -4 CONTENTS_LAVA -5 CONTENTS_SKY -6 CONTENTS_LADDER -16 ・説明 引数rgflVectorに指定された座標の中身を調べる。 例えば、指定座標が水中ならば戻り値はCONTENTS_WATERとなる。
●MESSAGE_BEGIN void MESSAGE_BEGIN( int msg_dest, int msg_type, const float *pOrigin = NULL, edict_t *ed = NULL ) ○引数 int msg_dest メッセージ送信対照 MSG_BROADCAST 0 // unreliable to all MSG_ONE 1 // reliable to one (msg_entity) MSG_ALL 2 // reliable to all MSG_INIT 3 // write to the init string MSG_PVS 4 // Ents in PVS of org MSG_PAS 5 // Ents in PAS of org MSG_PVS_R 6 // Reliable to PVS MSG_PAS_R 7 // Reliable to PAS int msg_type メッセージタイプ SVC_TEMPENTITY 23 テンポラリentity SVC_INTERMISSION 30 SVC_CDTRACK 32 SVC_WEAPONANIM 35 SVC_ROOMTYPE 37 SVC_ADDANGLE 38 SVC_NEWUSERMSG 39 SVC_CROSSHAIRANGLE 50 SVC_SOUNDFADE 51 SVC_CLIENTMAXSPEED 52 const float *pOrigin 座標指定(3次元配列) edict_t *ed ターゲットentity ○戻り値 なし。 ・説明 メッセージ送信開始。メッセージのフォーマットは各メッセージ種によって異なる。
●MESSAGE_END void MESSAGE_END(void) ○引数 なし。 ○戻り値 なし。 ・説明 MESSAGE_BEGIN以降に書き込まれたメッセージを送信する。
●WRITE_BYTE void WRITE_BYTE(int iValue) ○引数 int iValue 数値 ○戻り値 なし。 ・説明 引数の下位8ビットを符号無し数値としてメッセージバッファへ書き込む。
●WRITE_CHAR void WRITE_CHAR(int iValue) ○引数 int iValue 数値 ○戻り値 なし。 ・説明 引数の下位8ビットを符号有り数値としてメッセージバッファへ書き込む。
●WRITE_SHORT void WRITE_SHORT(int iValue) ○引数 int iValue 数値 ○戻り値 なし。 ・説明 引数の下位16ビットを符号有り数値としてメッセージバッファへ書き込む。
●WRITE_LONG void WRITE_LONG(int iValue) ○引数 int iValue 数値 ○戻り値 なし。 ・説明 引数を32ビット符号有り数値としてメッセージバッファへ書き込む。
●WRITE_ANGLE void WRITE_ANGLE(float flValue) ○引数 float flValue 数値 ○戻り値 なし。 ・説明 引数(float型数値)をメッセージバッファへ書き込む。
●WRITE_COORD void WRITE_COORD(float flValue) ○引数 float flValue 数値 ○戻り値 なし。 ・説明 引数(float型数値)をメッセージバッファへ書き込む。
●WRITE_STRING void WRITE_STRING(const char *sz) ○引数 const char *sz 文字列 ○戻り値 なし。 ・説明 引数である文字列szをメッセージバッファへ書き込む。
●WRITE_ENTITY void WRITE_ENTITY(int iValue) ○引数 int iValue 数値 ○戻り値 なし。 ・説明 おそらく特定entityの32ビットアドレスを書き込む物と思われるが詳細は不明。 MESSAGE_BEGINでentityを指定できるようになったため要らなくなったのかもしれない。
●CVAR_REGISTER void CVAR_REGISTER(cvar_t *pCvar) ○引数 cvar_t *pCvar コンソール値構造体 ○戻り値 なし。 ・説明 新規コンソール値を登録する。
●CVAR_GET_FLOAT float CVAR_GET_FLOAT(const char *szVarName) ○引数 const char *szVarName コンソール値名 ○戻り値 float型のコンソール値。 ○使用例 g_flWeaponCheat = CVAR_GET_FLOAT( "sv_cheats" ); ・説明 コンソール値をfloat型で読み出す。
●CVAR_GET_STRING const char* CVAR_GET_STRING(const char *szVarName) ○引数 const char *szVarName コンソール値名 ○戻り値 コンソール値の文字列ポインタ。 ○使用例 char *mapcfile = (char*)CVAR_GET_STRING( "mapcyclefile" ); ・説明 コンソール値の文字列ポインタ取得。
●CVAR_SET_FLOAT void CVAR_SET_FLOAT(const char *szVarName, float flValue) ○引数 const char *szVarName コンソール値名 float flValue 設定する数値 ○戻り値 なし。 ○使用例 CVAR_SET_FLOAT( "sv_newunit", 1 ); ・説明 コンソール値を引数flValueに設定する。
●CVAR_SET_STRING void CVAR_SET_STRING(const char *szVarName, const char *szValue) ○引数 const char *szVarName コンソール値名 const char *szValue 設定する文字列 ○戻り値 なし。 ○使用例 CVAR_SET_STRING("sv_stepsize", "24"); ・説明 コンソール値を引数szValueで記した文字列に設定する。
●ALERT void ALERT(ALERT_TYPE atype, char *szFmt, ...) ○引数 ALERT_TYPE atype 表示形式 at_notice メッセージBOXにて表示 at_console コンソールへ表示 at_aiconsole デベロッパーレベルが2である場合のみコンソールへ表示 at_warning 警告表示 at_error エラー表示 at_logged マルチプレイ時にサーバーのコンソールへ表示 char *szFmt 書式制御文字列 ... オプションの引数 ○戻り値 なし。 ○使用例 ALERT( at_console, "out of named ammo slots\n"); ・説明 一連の文字と値を書式化し、警戒メッセージとして表示する。
●ENGINE_FPRINTF void ENGINE_FPRINTF(FILE *pfile, char *szFmt, ...) ○引数 FILE pfile FILE 構造体へのポインタ char *szFmt 書式制御文字列 ... オプションの引数 ○戻り値 なし。 ○使用例 ENGINE_FPRINTF(pf,"Vec %f %f %f\n",x ,y ,z); ・説明 一連の文字と値を書式化し、ファイルへ出力する。
●ALLOC_PRIVATE void* ALLOC_PRIVATE(edict_t *pEdict, long cb) ○引数 edict_t *pEdict 固有メモリ確保対象のentity long cb 確保するメモリ領域のサイズ ○戻り値 確保されたメモリの先頭アドレス。 ・説明 引数cbに指定されたサイズのメモリをqEdictで指定されたentity固有のメモリ領域として確保する。
●GET_PRIVATE void *GET_PRIVATE( edict_t *pent ) ○引数 edict_t *pent 固有メモリ参照対象のentity ○戻り値 entityの確保しているメモリの先頭アドレス。 ・説明 引数pentで指定されたentity固有のメモリ領域(ALLOC_PRIVATEで確保した物)の先頭アドレスを得る。
●FREE_PRIVATE void FREE_PRIVATE(edict_t *pEdict) ○引数 edict_t *pent 固有メモリ削除対象のentity ○戻り値 なし。 ・説明 引数pentで指定されたentity固有のメモリ領域(ALLOC_PRIVATEで確保した物)を削除する。
●STRING const char* STRING(int iString) ○引数 int iString 文字列インデックス ○戻り値 指定されたインデックス番号に対応した文字列の先頭ポインタ。 ・説明 引数iStringで指定された文字列インデックス番号に対応する文字列の先頭ポインタを取得する。 ※注意 この関数は現在、以下の定義に置きかえられ、MAKE_STRINGと共に使用されている。 つまり、index番号はgpGlobals->pStringBaseから静的な文字列への相対アドレス となる。 #define STRING(offset) (const char *)(gpGlobals->pStringBase + (int)offset) #define MAKE_STRING(str) ((int)str - (int)STRING(0))
●ALLOC_STRING int ALLOC_STRING(const char *szValue) ○引数 const char *szValue インデックス番号取得文字列 ○戻り値 指定されたインデックス番号に対応した文字列の先頭ポインタ。 ・説明 引数iStringで指定された文字列インデックス番号に対応する文字列の先頭ポインタを取得する。
●GET_VARS_OF_ENT ※未定義 #define GET_VARS_OF_ENT (*g_engfuncs.pfnGetVarsOfEnt) entvars_t* GET_VARS_OF_ENT(edict_t *pEdict) ○引数 edict_t *pEdict entvars_t構造体先頭ポインタ取得対象entity ○戻り値 entvars_t構造体の先頭ポインタ。 ・説明 引数pEdictで指定されたentityの所有するentvars_t構造体の先頭ポインタを取得する。
●ENT edict_t *ENT(edict_t *pent) edict_t *ENT(EOFFSET eoffset) ○引数 edict_t *pent entity構造体edict_tのポインタ取得対象entity EOFFSET eoffset entity構造体edict_tのポインタ取得対象entityのオフセットインデックス番号 ○戻り値 edict_t構造体の先頭ポインタ。 ・説明 entity構造体先頭ポインタ(この場合は戻り値も同値)、またはentityのオフセットインデックス番号より edict_t構造体の先頭ポインタを取得する。
●OFFSET EOFFSET OFFSET(EOFFSET eoffset) EOFFSET OFFSET(const edict_t *pent) ○引数 EOFFSET eoffset オフセットインデックス番号取得対象のentityのオフセットインデックス番号 edict_t *pent オフセットインデックス番号取得対象のentity ○戻り値 entityのオフセットインデックス番号。 ・説明 entityのオフセットインデックス番号(この場合は戻り値も同値)、またはentity構造体先頭ポインタより オフセットインデックス番号を取得する。
●ENTINDEX int ENTINDEX(edict_t *pEdict) ○引数 edict_t *pEdict インデックス番号取得対象のentity ○戻り値 entityのインデックス番号。 ・説明 entity構造体先頭ポインタよりentityのインデックス番号を取得する。
●FIND_ENTITY_BY_VARS ※未定義 #define FIND_ENTITY_BY_VARS (*g_engfuncs.pfnFindEntityByVars) edict_t* FIND_ENTITY_BY_VARS(entvars_t* pvars) ○引数 entvars_t* pvars entvars_t構造体先頭ポインタ ○戻り値 edict_t先頭ポインタ。 ・説明 引数pvarsに指定されたentvars_t構造体を所有するentityの構造体先頭ポインタを取得する。
●GET_MODEL_PTR void* GET_MODEL_PTR(edict_t* pEdict) ○引数 edict_t* pEdict modelデータ先頭ポインタ取得対象のentity ○戻り値 entityのmodelデータの先頭ポインタ。 ・説明 引数pEdictの使用しているmodelデータの先頭ポインタを取得する。
●REG_USER_MSG int REG_USER_MSG(const char *pszName, int iSize) ○引数 const char *pszName 不明 int iSize 不明 ○戻り値 不明 ・説明 不明
●ANIM_AUTOMOVE ※未定義 #define ANIM_AUTOMOVE (*g_engfuncs.pfnAnimationAutomove) void ANIM_AUTOMOVE(const edict_t* pEdict, float flTime) ○引数 const edict_t* pEdict 自動再生対象のentity float flTime 自動再生時間 ○戻り値 なし。 ・説明 引数pEdictで指定されたentityのアニメーションパターンを自動的に再生する。
●GET_BONE_POSITION void GET_BONE_POSITION(const edict_t* pEdict, int iBone, float *rgflOrigin, float *rgflAngles ) ○引数 const edict_t* pEdict int iBone float *rgflOrigin float *rgflAngles ○戻り値 なし。 ・説明 不明
●FUNCTION_FROM_NAME unsigned long FUNCTION_FROM_NAME( const char *pName ) ○引数 const char *pName ○戻り値 なし。 ・説明 不明
●NAME_FOR_FUNCTION const char* NAME_FOR_FUNCTION( unsigned long function ) ○引数 unsigned long function ○戻り値 なし。 ・説明 不明
●CLIENT_PRINTF void CLIENT_PRINTF( edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg ) ○引数 edict_t* pEdict メッセージを表示する PRINT_TYPE ptype メッセージ種 print_console 0 コンソールに表示 print_center 1 画面中央に表示 print_chat 2 チャットメッセージとして表示 const char *szMsg 表示メッセージ ○戻り値 なし。 ・説明 クライアントであるentityに対してメッセージを表示する。クライアント以外のentityに対して 実行するとバッファが溢れてサーバーエラーが恐らく発生する。 PRINTFとあるが書式化して表示する機能は無い。
●SERVER_PRINT #define SERVER_PRINT (*pfnServerPrint) void SERVER_PRINT( const char *szMsg ) ○引数 const char *szMsg 表示メッセージ ○戻り値 なし。 ・説明 サーバーのコンソールにメッセージを表示する。
●CMD_ARGS const char* CMD_ARGS( void ) ○引数 なし。 ○戻り値 引数部分の文字列ポインタ。 ・説明 コマンドの引数部分の文字列を取得する。コマンドを参照したい場合はCMD_ARGVを使用する。
●CMD_ARGV const char* CMD_ARGV( int argc ) ○引数 int argc ○戻り値 コマンドラインのコマンド、または引数の文字列ポインタ。 ・説明 コマンドラインに打ち込まれたコマンド、または引数の文字列ポインタを取得する。 CMD_ARGC(0)がコマンド部、それ以降のCMD_ARGC(n)がコマンドへ与えられた n番目の引数を意味する。
●CMD_ARGC int CMD_ARGC( void ) ○引数 なし。 ○戻り値 引数の個数。 ・説明 コマンドに与えられた引数の個数を得る。個数はコマンド自身も含まれるため、コマンドに 引数が与えられなかった場合、戻り値は1である。
●GET_ATTACHMENT void GET_ATTACHMENT(const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles ) ○引数 const edict_t *pEdict int iAttachment float *rgflOrigin float *rgflAngles ○戻り値 なし。 ・説明 不明
●CRC32_INIT void CRC32_INIT(CRC32_t *pulCRC) ○引数 CRC32_t *pulCRC ○戻り値 なし。 ・説明 不明
●CRC32_PROCESS_BUFFER void CRC32_PROCESS_BUFFER(CRC32_t *pulCRC, void *p, int len) ○引数 CRC32_t *pulCRC void *p int len ○戻り値 なし。 ・説明 不明
●CRC32_PROCESS_BYTE void CRC32_PROCESS_BYTE(CRC32_t *pulCRC, unsigned char ch) ○引数 CRC32_t *pulCRC unsigned char ch ○戻り値 なし。 ・説明 不明
●CRC32_FINAL CRC32_t CRC32_FINAL(CRC32_t pulCRC) ○引数 CRC32_t pulCRC ○戻り値 不明 ・説明 不明
●RANDOM_LONG long RANDOM_LONG(long lLow, long lHigh) ○引数 long lLow 下限値 long lHigh 上限値 ○戻り値 乱数値。 ・説明 整数型の乱数値を得る。
●RANDOM_FLOAT float RANDOM_FLOAT(float flLow, float flHigh) ○引数 float flLow 下限値 float flHigh 上限値 ○戻り値 乱数値。 ・説明 浮動小数点型の乱数値を得る。
●SET_VIEW void SET_VIEW(const edict_t *pClient, const edict_t *pViewent ) ○引数 const edict_t *pClient クライアントのentity const edict_t *pViewent ターゲットentity ○戻り値 なし。 ・説明 引数pClientで指定したクライアントentityの視角をpViewentの方向へ向ける。
●TIME ※未定義 #define TIME (*g_engfuncs.pfnTime) float TIME( void ) ○引数 なし。 ○戻り値 不明 ・説明 不明
●SET_CROSSHAIRANGLE void SET_CROSSHAIRANGLE(const edict_t *pClient, float pitch, float yaw) ○引数 const edict_t *pClient クライアントentity float pitch 垂直(上下)方向のdegree値 float yaw 水平(左右)方向のdegree値 ○戻り値 なし。 ・説明 引数pClientで指定されたクライアントentityの照準の角度をpitch、yawで指定した角度 に設定する。
●LOAD_FILE_FOR_ME byte* LOAD_FILE_FOR_ME(char *filename, int *pLength) ○引数 char *filename ファイル名 int *pLength 読み込まれたバイト数 ○戻り値 ファイルの読み込まれたバッファの先頭アドレス。 ・説明 引数filenameで指定したファイルを読み込み、バッファの先頭アドレスを戻り値として得る。 読み込んだサイズはpLengthに得られる。
●FREE_FILE void FREE_FILE(void *buffer) ○引数 void *buffer ファイル読み込みバッファの先頭アドレス ○戻り値 なし。 ・説明 LOAD_FILE_FOR_ME実行時に確保したファイル読み込みバッファを開放する。
●END_SECTION ※未定義 #define END_SECTION (*g_engfuncs.pfnEndSection) void END_SECTION(const char *pszSectionName) ○引数 const char *pszSectionName ○戻り値 なし。 ・説明 不明
●COMPARE_FILE_TIME int COMPARE_FILE_TIME(char *filename1, char *filename2, int *iCompare) ○引数 char *filename1 char *filename2 int *iCompare ○戻り値 なし。 ・説明 不明
●GET_GAME_DIR void GET_GAME_DIR(char *szGetGameDir) ○引数 char *szGetGameDir ゲームディレクトリ名取得バッファの先頭アドレス ○戻り値 なし。 ・説明 ゲームのディレクトリを(valve、tfc等各ゲームディレクトリへのフルパス)引数szGetGameDirに指定 したバッファへ得る。
●CVAR_REGISTER_VARIABLE ※未定義 #define CVAR_REGISTER_VARIABLE (*g_engfuncs.pfnCvar_RegisterVariable) void CVAR_REGISTER_VARIABLE(cvar_t *variable) ○引数 cvar_t *variable ○戻り値 なし。 ・説明 不明 CVAR_REGISTERがあるので必要がない?
●FADE_CLIENT_VOLUME ※未定義 #define FADE_CLIENT_VOLUME (*g_engfuncs.pfnFadeClientVolume) void FADE_CLIENT_VOLUME(const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds) ○引数 const edict_t *pEdict int fadePercent int fadeOutSeconds int holdTime int fadeInSeconds ○戻り値 なし。 ・説明 不明
●SET_CLIENT_MAXSPEED ※未定義 #define SET_CLIENT_MAXSPEED (*g_engfuncs.pfnSetClientMaxspeed) void SET_CLIENT_MAXSPEED(const edict_t *pEdict, float fNewMaxspeed) ○引数 const edict_t *pEdict float fNewMaxspeed ○戻り値 なし。 ・説明 不明
●CREATE_FAKE_CLIENT ※未定義 #define CREATE_FAKE_CLIENT (*g_engfuncs.pfnCreateFakeClient) edict_t* CREATE_FAKE_CLIENT(const char *netname) ○引数 const char *netname プレイヤー名 ○戻り値 作成されたプレイヤーの偽者entity。 ・説明 プレイヤーの偽者を作成する(Bot)。
●RUN_PLAYER_MOVE ※未定義 #define RUN_PLAYER_MOVE (*g_engfuncs.pfnRunPlayerMove) void RUN_PLAYER_MOVE(edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec ) ○引数 edict_t *fakeclient プレイヤーの偽者entity const float *viewangles Pitch、Yaw、Rollのアングル設定(3次元配列) float forwardmove 前方の移動量 float sidemove 横方向の移動量 float upmove 上方向の移動量 unsigned short buttons ボタンの状態 byte impulse インパルスコマンドに指定する値 byte msec 不明 ○戻り値 なし。 ・説明 プレイヤーの偽者(Bot)を移動させる。
●NUMBER_OF_ENTITIES int NUMBER_OF_ENTITIES(void) ○引数 なし。 ○戻り値 entity数。 ・説明 World内に存在する全entity数を得る。
●GET_INFO_KEY_BUFFER ※未定義 #define GET_INFO_KEY_BUFFER (*g_engfuncs.pfnGetInfoKeyBuffer) char* GET_INFO_KEY_BUFFER(edict_t *e) ○引数 edict_t *e クライアントentity ○戻り値 クライアントentity情報バッファの先頭アドレス。 ・説明 entity(クライアントentity)はmodelやteamの情報キーに対する値をそれぞれ持っている。 その情報バッファの先頭アドレスを得る。
●INFO_KEY_VALUE ※未定義 #define INFO_KEY_VALUE (*g_engfuncs.pfnInfoKeyValue) char* INFO_KEY_VALUE(char *infobuffer, char *key) ○引数 char *infobuffer クライアントentity情報バッファのアドレス char *key 参照したいキー名 ○戻り値 指定キーに対する値を示す文字列の先頭アドレス。 ・説明 GET_INFO_KEY_BUFFERによって得た情報バッファのアドレスを使い、指定キー("name"、"model"、 "team"等)に割り当てられた値を示す文字列の先頭アドレスを得る。
●SET_KEY_VALUE ※未定義 #define SET_KEY_VALUE (*g_engfuncs.pfnSetKeyValue) void SET_KEY_VALUE(char *infobuffer, char *key, char *value) ○引数 char *infobuffer クライアントentity情報バッファのアドレス char *key 値を設定したいキー名 char *value 割り当てる値を示す文字列 ○戻り値 なし。 ・説明 GET_INFO_KEY_BUFFERによって得た情報バッファのアドレスを使い、指定キー("name","model"、 "team"等)に対して任意の文字列を割り当てる。
●SET_CLIENT_KEY_VALUE ※未定義 #define SET_CLIENT_KEY_VALUE (*g_engfuncs.pfnSetClientKeyValue) void SET_CLIENT_KEY_VALUE(int clientIndex, char *infobuffer, char *key, char *value) ○引数 int clientIndex クライアントentityインデックス番号 char *infobuffer クライアントentity情報バッファのアドレス char *key 値を設定したいキー名 char *value 割り当てる値を示す文字列 ○戻り値 なし。 ・説明 GET_INFO_KEY_BUFFERによって得た情報バッファのアドレスを使い、引数clientIndexで示した クライアントentity情報の指定キー("name","model"、"team"等)に対する任意の文字列を割り 当てる。
●IS_MAP_VALID int IS_MAP_VALID(char *filename) ○引数 char *filename マップ名 ○戻り値 判定結果(0以外で正常)。 ・説明 引数filenameで示したマップ名が正当な物であるかを評価する。不正なマップ名であった場合は 0を戻り値として返す。
●STATIC_DECAL ※未定義 #define STATIC_DECAL (*g_engfuncs.pfnStaticDecal) void STATIC_DECAL( const float *origin, int decalIndex, int entityIndex, int modelIndex ) ○引数 const float *origin デカールの貼り付け位置座標(3次元配列) int decalIndex デカールのインデックス番号 int entityIndex entityのインデックス番号 int modelIndex modelのインデックス番号 ○戻り値 なし。 ・説明 静的なデカールを引数entityIndexで示したentityに貼り付ける。
●PRECACHE_GENERIC int PRECACHE_GENERIC(char* s) ○引数 char* s ○戻り値 不明 ・説明 不明
●GETPLAYERUSERID int GETPLAYERUSERID(edict_t *e ) ○引数 edict_t *e クライアントentity ○戻り値 ユーザーID。 ・説明 クライアントentityのユーザーIDを得る。
●BUILD_SOUND_MSG void BUILD_SOUND_MSG(edict_t *entity, int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed) ○引数 edict_t *entity int channel const char *sample float volume float attenuation int fFlags int pitch int msg_dest int msg_type const float *pOrigin edict_t *ed ○戻り値 なし。 ・説明 不明
●IS_DEDICATED_SERVER int IS_DEDICATED_SERVER(void) ○引数 なし。 ○戻り値 判定結果(0以外の値返却時はDEDICATEサーバーであることを意味する)。 ・説明 現在サーバーがDEDICATEサーバーで起動されているかどうかを得る。 戻り値が0以外でDEDICATEサーバーであることを意味する。