
2016/03/28

;***********************************************************************************
; Fichier de configuration du HUD hud/***.txt
;***********************************************************************************

; ★ IMPORTANT ★
; Le HUD peut être rafraîchis pendant que Minecraft fonctionne.
; [ Pour rafraîchir le HUD: R -> MOD Option -> Development -> Reload All HUD (SOLO UNIQUEMENT)]
; Le rafraîchissement des textures utilises les fonctionnalités de Minecraft et non MCHeli (traduction incertaine) テクスチャの再読み込みはヘリMODからではなくマインクラフトのデフォルトの機能を利用する。
; [ Pack de texture: Esc → Paramètres → Pack de ressources → Terminé]


;************************************************************************************************************
; Seul l’ordre des fichiers de configuration du HUD est affecté.
; Le processus est exécuté dans l’ordre décrit dans le fichier de configuration, et il devient l’ordre de dessin. (traduction incertaine) 設定ファイルに記載した順番に処理が実行され、それが描画順になる。

;************************************************************************************************************
; À propos de la formule de calcul
; DrawString, Vous pouvez définir une formule pour des nombres autres que la partie données de DrawCenteredString.
;   Exemple：Color = 123 + 456
; Mettre #ou 0x avant le nombre.
;   Exemple：Color = #123 + 0x456 + 789
; L'expression peut être une variable.
;   Exemple：Color = hp_rto * 100
;       hp_rto est saisi avec une valeur d’endurance de la cellule de 0,0 1,0. Par conséquent * 0,0 100,0 à 100. (traduction bancale) hp_rto は機体の耐久値が 0.0～1.0 で入る。そのため * 100 で 0.0～100.0になる。
; Les expressions peuvent être soumises à des conditions.
;   Format： Condition ? Valeur à afficher si la condition est remplie : Valeur à afficher dans le cas contraire
;   Exemple：Color = hp_rto>0.2? 0xFFFFFFFF: 0x00000000
;       Si hp_rto > 0.2, 0xFFFFFFFF est affichée, sinon 0x00000000 est affichée en couleur
;
; Liste des variables
; center_x    : Coordonnée X au centre de l’écran
; center_y    : Coordonnée Y au centre de l’écran
; width       : Largeur de l'écran
; height      : Hauteur de l'écran
; yaw         : Rotation latérale de l'appareil (-180.0/180.0)
; pitch       : Rotation longitudinale de l'appareil(-90.0/90.0)
; roll        : Niveau de roulement (-180.0/180.0)
; plyr_yaw    : Rotation latérale du joueur (-180.0/180.0)
; plyr_pitch  : Rotation longitudinale du joueur (-90.0/90.0)
; altitude    : Altitude (distance entre l'aéronef et le bloc le plus bas sous l'appareil)
; sea_alt     : Altitude de l’aéronef au-dessus du niveau de la mer. Distance par rapport à la hauteur de la mer de référence (non négative)
; hp          : Point de vie restant à l'appareil
; max_hp      : Point de vie max de l'appareil
; hp_rto      : Proportion restante de PV機体の残りHPの割合(0.0～1.0)
; throttle    : Valeur d'accélération de l'appareil (0.0/1.0)
; pos_x       : Coordonnées X
; pos_y       : Coordonnées Y
; pos_z       : Coordonnées Z
; motion_x    : 機体の加速度X
; motion_y    : 機体の加速度Y
; motion_z    : 機体の加速度Z
; fuel        : Niveau de carburant restant (0.0/1.0)
; low_fuel    : Indicateur niveau de fuel bas (0: fuel en quantité suffisante; 1: réserve faible)
; stick_x     : quantité de direction X du manche de commande (-1,0 1,0)
; stick_y     : quantité de direction Y du manche de commande (-1,0 1,0)
; reloading   : Etat du rechargement (0: pas en train de recharger; 1: en train de recharger)
; reload_time : Temps de rechargement (1.0/0.0; si à 0.0, rechargement terminé)
; wpn_heat    : 武器の熱量(0.0～1.0)
; is_heat_wpn : Etat de la tête chercheuse de l'arme (0: n'est pas à tête chercheuse; 1: est à tête chercheuse)
; dsp_mt_dist : Etat de l'afficheur mt_dist (0: ne s'affiche pas; 1: s'affiche)
; mt_dist     : Distance d'atterissage (0.0 si incalculable)
; have_radar  : Etat du radar (0: non équipé d'un radar; 1: équipé d'un radar)
; radar_rot   : Angle de rotation du radar. Un tour met à jour la position de l’entité
; vtol_stat   : Mode ADAV (0: normal; 1: commutation en cours; 2: vol vertical)
; free_look   : Mode de vue (0: Normal; 1: vue libre)
; cam_mode    : Mode de vision (0: normal; 1:vision nocturne; 2: vision thermique)
; cam_zoom    : Puissance du zoom (x1.0 à x10.0)
; auto_pilot  : Etat du pilote automatique: (0: désactivé; 1: activé)
; have_flare  : Etat de l'équipement de leurre (0: non équipé de leurre; 1: équipé de leurre)
; can_flare   : Etat du leurre (0: leurre indisponible; 1: leurre disponible)
; sight_type  : Mode de visée (0: pas en visée; 1: visée mouvante; 2: visée du missile)
; lock        : Etat de verouillage du missile (0.0: Non verrouilé; 1.0: est verrouillé)
; color       : Paramètres de couleur actuels (0x00000000 à 0xFFFFFFFF)
; inventory   : Emplacement des slots d'inventaire (0/54)
; hovering    : Etat du planeur (0: Ne plane pas; 1: plane)
; is_uav      : Valeur de drone (1 si drone, 0 si ce n'est pas un drone)
; uav_fs      : Puissance des ondes radions du drone (0.0: Perte du signal; 1.0: Signal très fort)
; gunner_mode : Mode de tir (0: Mode Normal; 1: Mode Tir)
; time        : Heure en jeu (0/24000. 0=6h; 6000=midi)
; test_mode   : Mode de test (0: Mode Normal; 1: Mode Test)


;************************************************************************************************************
; Autres appels de fichiers de texture du HUD
; Si vous spécifiez le nom du fichier texte du HUD, vous pouvez effectuer le processus de dessin du fichier de configuration.HUDのテキストファイル名を指定すると、その設定ファイルの描画処理を実行できる。
;
; Call = common_pilot, le fichier common_pilot.txt est exécuté.
; Vous pouvez lire un autre fichier dans le fichier de configuration appelant, mais vous ne pouvez pas lire le même fichier en double.
; Par exemple, si call = heli est défini dans heli.txt, alors heli.txt n’est pas traité et ignoré car il est déjà en cours d’exécution.
; De même, si décrit dans heli.txt comme Call = plane et décrit dans plane.txt comme Call = heli
; Puisque heli.txt est en cours d’exécution, il ne sera pas exécuté dans ce cas non plus
Call = common_pilot


;************************************************************************************************************
; Fin du fichier de texture du HUD actuel
;
; Call で呼び出されている場合は、呼び出し元に戻る
; Appeler uav_fs.txt à partir de heli.txt et utiliser Exit avec uav_fs.txt pour terminer le dessin de uav_fs
; Appeler uav_fs.txt à partir de heli.txt et utiliser Exit avec uav_fs.txt pour terminer le dessin de uav_fs
;
Exit


;************************************************************************************************************
; 条件分岐
; 指定した条件を満たす場合のみ処理を実行する
;
; 条件が 0 以外の場合は 処理1 処理2 処理3 は実行される
; 条件が 0 の場合は 処理1 処理2 処理3 は実行されない
; If = 条件
; 	処理1
; 	処理2
; 	処理3
; EndIf
; ※入れ子は非対応 (If～EndIf の間に更にIfを入れることはできない)
;
; 以下の例では is_heat_wpn が1であれば、Color と DrawRect が実行される。
If = is_heat_wpn==1
	Color = 0xFF28d448
	DrawRect = -145, 57, 43, 10
EndIf


;************************************************************************************************************
; 色設定
; 色設定を行うと、以降の文字色や線の色がこの設定の色で描画される
;
; 2パターンの設定方法がある。
; パラメータ1つで指定する方法と、パラメータ4つを指定する方法。
; 1つで設定する場合:上位から 不透明度、赤、緑、青
;                  :例) 0xAABBCCDD の場合、不透明度=AA、赤=BB、緑=CC、青=DD
; 4つで設定する場合:前から順に 不透明度、赤、緑、青
;                  :例) 12, 34, 56, 78  の場合、不透明度=12、赤=34、緑=56、青=78
; 16進数で指定するか、10進数で4つ指定のどちらか
; 例 : 以下はどれも有効な設定
Color = 0xFFFFFFFF
Color = #FFFFFFFF
Color = 0xFF,  40, 212,  72


;************************************************************************************************************
; 文字列を描画する
;  DrawString         : 指定座標から右に向かって描画
;  DrawCenteredString : 指定座標が中央になるよう描画
;
; パラメータ1 = 画面中央からのX座標
; パラメータ2 = 画面中央からのY座標
; パラメータ3 = 表示フォーマット(printf or String.formatの形式。 , は使用不可)
;               %の数と、パラメータ4以降のデータ数は一致していなければならない
; パラメータ4以降 = ★データ(省略可能。上限なし)
;
; 例(高度)：DrawString = -20,  20, "Hello"
;           Hello という文字列を画面に表示する
;
; 例(高度)：DrawString =  0,  40, "[ %3d ]", ALTITUDE
;           ALTITUDE(高度) を 3桁の整数で表示する → [ 123 ]
;
; 例(日付)：DrawString =  0, -30, "%tY/%tm/%td", DATE, DATE, DATE
;           DATE(日付) を / で区切って表示する → 2014/10/11
;
; ★データ(大文字小文字は区別しない)
; データに計算式は使えない
;
; 下記に示す通り %s や %d、%f はデータごとに決まっている。ただし、%と英字の間に桁数を表す数値を入れることが可能。
; 例えば %f は小数点以下を指定しないため何桁表示されるか分からない。 → 123.45678 など
; %.2fとすると小数点以下は必ず 1桁になる。 %.0f → 123    %.1f → 123.4    %.2f → 123.45
; これは %d でも可能。詳細は printf で検索するとよい。
;
;  NAME        : %s : 機体名(アイテム名と同じ表示になる)
;  ALTITUDE    : %d : 高度を整数で示す。
;  DATE        : %tY %tm %td %td %tH %tM %tS ...
;              : 現在の日時を表す。%tY=年、%tm=月、%td=日、%tH=時、%tM=分、%tS=秒
;  MC_THOR     : %d : Minecraft内の時間の時を表す。0～23。Minecraft内の時間は現実の72倍であることに注意
;  MC_TMIN     : %d : Minecraft内の時間の分を表す。0～59。Minecraft内の時間は現実の72倍であることに注意
;  MC_TSEC     : %d : Minecraft内の時間の秒を表す。0～59。Minecraft内の時間は現実の72倍であることに注意
;  MAX_HP      : %d : 最大耐久値を整数で示す。
;  HP          : %d : 残りの耐久値を整数で示す。
;  HP_PER      : %f : 残りの割合を小数(100.0～0.0)で示す。%.1f は小数点以下1桁表示するという意味。
;  THROTTLE    : %f : スロットルを小数(100.0～0.0)で示す。%.1f は小数点以下1桁表示するという意味。
;  POS_X       : %f : 機体のX座標を小数で表示する。
;  POS_Y       : %f : 機体のY座標を小数で表示する。
;  POS_Z       : %f : 機体のZ座標を小数で表示する。
;  MOTION_X    : %f : 機体のX方向の加速度を小数で表示する。
;  MOTION_Y    : %f : 機体のY方向の加速度を小数で表示する。
;  MOTION_Z    : %f : 機体のZ方向の加速度を小数で表示する。
;  YAW         : %f : 機体の横方向の角度を小数で表示する。
;  PITCH       : %f : 機体の縦方向の角度を小数で表示する。★実際のピッチ角と正負が逆なので注意。(上が正の値、下が負の値)
;  ROLL        : %f : 機体のロール角度を小数で表示する。
;  PLYR_YAW    : %f : プレイヤーの横方向の角度を小数で表示する。
;  PLYR_PITCH  : %f : プレイヤーの縦方向の角度を小数で表示する。★実際のピッチ角と正負が逆なので注意。(上が正の値、下が負の値)
;  INVENTORY   : %d : 機体のインベントリ数を表示する。
;  WPN_NAME    : %s : 現在選択している武器名を表示する。
;  WPN_AMMO    : %s : 現在選択している武器の弾数を表示する。
;  WPN_RM_AMMO : %s : 現在選択している武器の残弾を表示する。
;  RELOAD_PER  : %f : リロード状況を小数(100.0～0.0)で示す。100.0でリロード完了。%.1f は小数点以下1桁表示するという意味。
;  RELOAD_SEC  : %f : 残りリロード秒数を小数(0.0～)で示す。0.0でリロード完了。%.1f は小数点以下1桁表示するという意味。
;  MORTAR_DIST : %f : 着弾距離(0.0未満の場合は計算不可の場合)
;  MC_VER      : %s : Minecraftのバージョン。
;  MOD_VER     : %s : MODのバージョン。
;  MOD_NAME    : %s : MODの名称。常に「MC Helicopter MOD」になる。
;  TVM_POS_X   : %f : TVミサイルのX座標
;  TVM_POS_Y   : %f : TVミサイルのY座標
;  TVM_POS_Z   : %f : TVミサイルのZ座標
;  TVM_DIFF    : %f : TVミサイルと機体の距離
;  CAM_ZOOM    : %f : カメラの倍率
;  UAV_DIST    : %f : UAVステーションとの距離 (0.0～)
;  KEY_GUI     : %s : GUI キーの名称 (デフォルトのキー設定なら R)
;
DrawCenteredString = 0,  40, "[ %3d ]", ALTITUDE
→ ALTITUDEが12の場合、画面には [  12 ] と表示される。3桁を指定しているが、12は2桁なので、100の位はスペースになる。
DrawString         = 0,  30, "%tY %tm %td  [ %02d:%02d:%02d ]", DATE, DATE, DATE, MC_THOR, MC_TMIN, MC_TSEC
→ 2014/10/24のマイクラ内時刻が 12時34分56秒であれば、画面には 2014 10 24  [ 12:34:56 ] と表示される。
DrawString         = 0,  20, "%3d/%3d  = %.1f%%", HP, MAX_HP, HP_PER
→ 現在HP=50で、最大HP=100の場合、画面には  50/100  = 50% と表示される。%% は%の文字を表す。
DrawString         = 0,  10, "[ %s ]", name
→ 機体が AH-64の場合、画面には AH-64D Apache Longbow と表示される。
DrawCenteredString = 0, -10, "HUD Test"
→ データ部なしなので、画面には常に HUD Test と表示される。


;************************************************************************************************************
; テクスチャを描画する
; テクスチャは 256x256 を推奨。パラメータ2以降は全て整数または小数を指定可能
; パラメータ1  :テクスチャファイル名 (拡張子無し。assets\mcheli\textures\gui 内のファイル)
; パラメータ2  : 画面の中央からのX座標
; パラメータ3  : 画面の中央からのY座標
; パラメータ4  : 画面上の幅
; パラメータ5  : 画面上の高さ
; パラメータ6  : 読み出すテクスチャのX座標
; パラメータ7  : 読み出すテクスチャのY座標
; パラメータ8  : 読み出すテクスチャの幅
; パラメータ9  : 読み出すテクスチャの高さ
; パラメータ10 : 画面上での回転角度(省略可)
DrawTexture = heli_hud, -100.0, 20,  50,20,  0,0, 64,64,  90.0


;************************************************************************************************************
; 四角形を描画する
; パラメータ1  : 画面の中央からのX座標
; パラメータ2  : 画面の中央からのY座標
; パラメータ3  : 画面上の幅
; パラメータ4  : 画面上の高さ
DrawRect = -20, -30, 40*throttle, -20


;************************************************************************************************************
; 線を描画する
; パラメータ5以降を指定すると、連続で線を引くことができる。
; 1,2 → 3,4 → 5,6 → 7,8 ... 
; パラメータ4までは必須で、5以降は必要であれば使用する
;
; パラメータ1  : 画面の中央からのX座標
; パラメータ2  : 画面の中央からのY座標
; パラメータ3  : 画面の中央からのX座標
; パラメータ4  : 画面の中央からのY座標
; パラメータ5  : パラメータ5以降は、X座標、Y座標、X座標、Y座標...
DrawLine = -40,  30,   40, 30
DrawLine = -20, -30,  -20+40*throttle, -30,  -20+40*throttle, -20,  -20, -20,  -20, -30


;************************************************************************************************************
; 破線を描画する
; パラメータ7以降を指定すると、連続で線を引くことができる。
; 3,4 → 5,6 → 7,8 ... 
; パラメータ6までは必須で、7以降は必要であれば使用する
; なお パラメータ1 は glLineStipple の factor、パラメータ2 は glLineStipple の pattern である。
;
; パラメータ1  : 破線パターンを16進数の 0 or 1 で表す ( よく分からなければ 0xCCCC や 0xAAAA を設定しておけばよい )
; パラメータ2  : 破線の倍率 (整数)
; パラメータ3  : 画面の中央からのX座標
; パラメータ4  : 画面の中央からのY座標
; パラメータ5  : 画面の中央からのX座標
; パラメータ6  : 画面の中央からのY座標
; パラメータ7  : パラメータ7以降は、X座標、Y座標、X座標、Y座標...
DrawLineStipple = 0xF0F0, 1,   -40,  30,   40, 30
DrawLineStipple = 0xFF00, 1,   -20, -30,  -20+40*throttle, -30,  -20


;************************************************************************************************************
; エンティティの位置を描画する(レーダー)
; DrawEntityRadar はモンスター以外のモブ、DrawEnemyRadar はモンスター を描画する
;
; パラメータ1  : 回転角度
; パラメータ2  : 画面の中央からのX座標
; パラメータ3  : 画面の中央からのY座標
; パラメータ4  : 幅
; パラメータ5  : 高さ
DrawEntityRadar = plyr_yaw, 40,  30,   32, 32
DrawEnemyRadar  = plyr_yaw, 40,  30,   32, 32


;************************************************************************************************************
; 角度を表す目盛を描画する
; 
; DrawGraduationYaw    横方向の回転角度を目盛で表示。例の設定では画面上部に表示される
; DrawGraduationPitch1 縦方向の回転角度を目盛で表示。例の設定では画面左右に表示される
; DrawGraduationPitch2 縦方向とロール角度を表示。例の設定では画面中央に表示される
; パラメータ1  : 回転角度
; パラメータ2  : ロール回転角度
; パラメータ3  : 画面の中央からのX座標
; パラメータ4  : 画面の中央からのY座標
; DrawGraduationYaw のパラメータ3 以外は以下の値にすることを推奨する。
DrawGraduationYaw    = plyr_yaw,    0,     0, -100
DrawGraduationPitch1 = plyr_pitch,  0,     0, 0
DrawGraduationPitch2 = plyr_pitch, -roll,  0, 0


;************************************************************************************************************
; プレイヤーと機体との角度の差を描画する
; 
; 機体に対してプレイヤーがどこを向いているか、小さい四角で表示する。
; パラメータ1  : 画面の中央からのX座標
; パラメータ2  : 画面の中央からのY座標
DrawCameraRot = 0, 60
