[Tuto] Création de Viewports pour tous les afficheurs DCS
Publié : sam. mars 26, 2011 6:07 pm
J'ai réussi!!!!!!
Voici une petite capture de ce que j'ai obtenu sous DCS pour les affricheurs
- Allez dans S:\DCS A-10C\Scripts\Aircrafts\A-10C\Cockpit
- Puis allez dans le dossier de l'afficheur que vous voulez modifier (Eg : AN_ALR69V\indicator
- puis ouvrez le fichier init.lua de votre afficheur (Eg : AN_ALR69V_init.lua here)
- Trouvez la ligne:-And Et collez le code suivant en dessous :
-Changer la valeur en rouge pour définir le nom de votre ViewPort
-Aller dans \Config\MonitorSetup\ProfilEcran.lua
- Ajouter une section Viewport Comme ceci :Amusez-Vous!!!
Voici une petite capture de ce que j'ai obtenu sous DCS pour les affricheurs
- Allez dans S:\DCS A-10C\Scripts\Aircrafts\A-10C\Cockpit
- Puis allez dans le dossier de l'afficheur que vous voulez modifier (Eg : AN_ALR69V\indicator
- puis ouvrez le fichier init.lua de votre afficheur (Eg : AN_ALR69V_init.lua here)
- Trouvez la ligne:
Code : Tout sélectionner
indicator_type = indicator_types.COMMON
Code : Tout sélectionner
purposes = {render_purpose.GENERAL,
render_purpose.HUD_ONLY_VIEW,
render_purpose.SCREENSPACE_OUTSIDE_COCKPIT,
render_purpose.SCREENSPACE_INSIDE_COCKPIT}
screenspace_scale_initial = 3;
screenspace_diplacement = {0,0}
local x_size = 1
local y_size = 1
function update_screenspace_diplacement(zoom_value)
screenspace_scale = screenspace_scale_initial + zoom_value;
if screenspace_scale < 1 then
screenspace_scale = 1
end
local screen_height = 2.0;
local screen_width = screen_height * LockOn_Options.screen.aspect;
local scaled_width = SelfWidth * screenspace_scale
local scaled_height = y_size * scaled_width -- for indicator all sizes is function of width
scaled_width = x_size * scaled_width
screenspace_diplacement = { 0.5 * screen_width - 0.5 * scaled_width,
-0.5 * screen_height + 0.5 * scaled_height}
screenspace_diplacement_arcade = {screenspace_diplacement[1],
0.5 * screen_height - 0.5 * scaled_height}
end
update_screenspace_diplacement(0)
function set_full_viewport_coverage(viewport)
local w = LockOn_Options.screen.width
local h = LockOn_Options.screen.height
local a = LockOn_Options.screen.aspect
local x = (-1.0 + 2.0 * (viewport.x / w)) * a
local y = 1.0 - 2.0 * (viewport.y / h)
local width = (viewport.width / w) * a
local height = viewport.height / h
local scl_hgt_K = y_size * SelfWidth -- size always function of SelfWidth
local scl_wdt_K = x_size * SelfWidth -- size always function of SelfWidth
screenspace_scale_x = 2.0 * width / scl_wdt_K
screenspace_scale_y = 2.0 * height / scl_hgt_K
screenspace_diplacement = {x + width,
y - height}
screenspace_diplacement_arcade = screenspace_diplacement
purposes = {render_purpose.HUD_ONLY_VIEW,
--render_purpose.GENERAL,
render_purpose.SCREENSPACE_OUTSIDE_COCKPIT,
render_purpose.SCREENSPACE_INSIDE_COCKPIT} -- set purposes to draw it always
render_target_always = true
end
-- try to find assigned viewport
local multimonitor_setup_name = "Config/MonitorSetup/"..get_multimonitor_preset_name()..".lua"
local env = {}
env.screen = LockOn_Options.screen
local f = loadfile(multimonitor_setup_name)
if f then
setfenv(f,env)
pcall(f)
local vp = nil
vp = env.[color=Red]RWR_SCREEN[/color]
if vp ~= nil then
dbg_print("ok we have directly assigned viewport to CDU\n")
set_full_viewport_coverage(vp)
end
end
-Aller dans \Config\MonitorSetup\ProfilEcran.lua
- Ajouter une section Viewport Comme ceci :
Code : Tout sélectionner
RWR_SCREEN =
{
x = 1000;
y = 1245;
width = 170;
height = 170;
}