Move main lua file into Install_00 folder
This commit is contained in:
parent
cceeebbe82
commit
4490e324a1
@ -1,4 +1,5 @@
|
|||||||
[EEPInstall]
|
[EEPInstall]
|
||||||
EEPVersion = 10
|
EEPVersion = 10
|
||||||
File001 = "On.lua","LUA\On.lua"
|
File001 = "On.lua","LUA\On.lua"
|
||||||
File002 = "Prototype.lua","LUA\Prototype.Lua"
|
File002 = "Prototype.lua","LUA\Prototype.lua"
|
||||||
|
File003 = "kskit.lua","LUA\kskit.lua"
|
||||||
|
97
Install_00/kskit.lua
Normal file
97
Install_00/kskit.lua
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
require("Prototype")
|
||||||
|
require("On")
|
||||||
|
serpent=require("serpent")
|
||||||
|
|
||||||
|
-- Versionsnummer. Diese dient vor allem zu Diagnosezwecken.
|
||||||
|
-- Ich weiss jetzt noch nicht, wie viele verschiedene Versionen von dem Script spaeter herumfliegen werden.
|
||||||
|
KsKitVer=0
|
||||||
|
|
||||||
|
-- Grundsätzliche Typen von Signalbildern
|
||||||
|
FAHRT=1
|
||||||
|
HALT=2
|
||||||
|
RANGIERFAHRT=3
|
||||||
|
ERSATZFAHRT=4
|
||||||
|
AUS=5
|
||||||
|
|
||||||
|
-- Grundsignal, entspricht allen Signalen vor EEP 6 sowie dem Unsichtbaren Signal aus dem Grundbestand
|
||||||
|
Signal=Prototype()
|
||||||
|
|
||||||
|
function Signal:init(tab)
|
||||||
|
for k,v in pairs(tab) do
|
||||||
|
local setter = "set_"..tostring(k)
|
||||||
|
if type(self[setter]) == "function" then
|
||||||
|
self[setter](self, v)
|
||||||
|
else
|
||||||
|
error("Signaleigenschaft "..k.." hier nicht erlaubt")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- ID to use with EEPGetSignal/EEPSetSignal
|
||||||
|
function Signal:set_ID(id)
|
||||||
|
if type(id) ~= "number" then error("Signal ID must be a number") end
|
||||||
|
self.ID = id
|
||||||
|
end
|
||||||
|
Signal.set_1=Signal.set_ID
|
||||||
|
|
||||||
|
-- Anfahrtsgeschwindigkeit ans Haltzeigende Signal
|
||||||
|
function Signal:set_V_halt(v)
|
||||||
|
if type(v) ~= "number" then error("V_halt must be number") end
|
||||||
|
self.V_halt = v
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Unsichtbares Signal: Zugbeeinflussung
|
||||||
|
function Signal:set_V_regler(id)
|
||||||
|
self.V_regler=id
|
||||||
|
end
|
||||||
|
|
||||||
|
function Signal:set_Begriffe(Begriffe)
|
||||||
|
self.RFSS=false -- Rangierfahrstrassenstart
|
||||||
|
self.RFSZ=false -- Rangierfahrstrassenziel
|
||||||
|
self.ZFSS=false -- Zugfahrstrassenstart
|
||||||
|
self.ZFSZ=false -- Zugfahrstrassenziel
|
||||||
|
for i=1,#Begriffe do
|
||||||
|
if Begriffe[i][1]==RANGIERFAHRT then self.RFSS=true end
|
||||||
|
if Begriffe[i][1]==HALT then self.RFSZ=true; self.ZFSZ=true end
|
||||||
|
if Begriffe[i][1]==FAHRT then self.ZFSS=true end
|
||||||
|
end
|
||||||
|
self.Begriffe=Begriffe
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Signalbilder OSJD/EZMG/Hl-Signale des Ostblocks
|
||||||
|
-- V_erwarten=60 wird durch V_erwarten=40 signalisiert
|
||||||
|
Hl1={FAHRT}
|
||||||
|
Hl2={FAHRT, V_max=100}
|
||||||
|
Hl3a={FAHRT, V_max=40}
|
||||||
|
Hl3b={FAHRT, V_max=60}
|
||||||
|
Hl4={FAHRT, V_erwarten=100}
|
||||||
|
Hl5={FAHRT, V_max=100, V_erwarten=100}
|
||||||
|
Hl6a={FAHRT, V_max=40, V_erwarten=100}
|
||||||
|
Hl6b={FAHRT, V_max=60, V_erwarten=100}
|
||||||
|
Hl7={FAHRT, V_erwarten=40}
|
||||||
|
Hl8={FAHRT, V_max=100, V_erwarten=40}
|
||||||
|
Hl9a={FAHRT, V_max=40, V_erwarten=40}
|
||||||
|
Hl9b={FAHRT, V_max=60, V_erwarten=40}
|
||||||
|
Hl10={FAHRT, H_erwarten=true}
|
||||||
|
Hl11={FAHRT, V_max=100, H_erwarten=true}
|
||||||
|
Hl12a={FAHRT, V_max=40, H_erwarten=true}
|
||||||
|
Hl12b={FAHRT, V_max=60, H_erwarten=true}
|
||||||
|
Hl13={HALT}
|
||||||
|
|
||||||
|
-- Zusatzsignale (DS 301 Namen)
|
||||||
|
Zs1={ERSATZFAHRT}
|
||||||
|
Sh1={RANGIERFAHRT} -- war Ra12 bei DR
|
||||||
|
|
||||||
|
-- V11NHK10024 HL-Signale der DR *V40* - Grundset
|
||||||
|
Hl_Signal_Ausfahrt_V40=Signal{Begriffe={Hl13,Hl1,Hl3a,Zs1,Sh1,Hl13}}
|
||||||
|
Hl_Signal_Ausfahrt_Vmax=Signal{Begriffe={Hl13,Hl1,Zs1,Sh1,Hl13}}
|
||||||
|
Hl_Signal_Block=Signal{Begriffe={Hl13,Hl1,Zs1,Hl13}}
|
||||||
|
Hl_Signal_Einfahrt_V40=Signal{Begriffe={Hl13,Hl1,Hl7,Hl10,Hl3a,Hl9a,Hl12a,Zs1,Hl13}}
|
||||||
|
Hl_Signal_Selbstblock=Signal{Begriffe={Hl13,Hl1,Hl10,Hl13}}
|
||||||
|
Hl_Signal_Vorsignal_V40=Signal{Begriffe={Hl10,Hl7,Hl1}}
|
||||||
|
Hl_Signal_Vorsignalwiederholer_V40=Signal{Begriffe={Hl10,Hl7,Hl1}}
|
||||||
|
|
||||||
|
-- V11NHK10025 HL-Signale der DR *V60* - Erweiterungsset
|
||||||
|
Hl_Signal_Ausfahrt_V60=Signal{Begriffe={Hl13,Hl1,Hl3b,Hl3a,Zs1,Sh1,Hl13}}
|
||||||
|
Hl_Signal_Einfahrt_V60=Signal{Begriffe={Hl13,Hl1,Hl4,Hl7,Hl10,Hl3b,Hl6b,Hl9b,Hl12b,Hl3a,Hl6a,Hl9a,Hl12a,Zs1,Hl13}}
|
||||||
|
Hl_Signal_Vorsignalwiederholer_V60=Signal{Begriffe={Hl10,Hl7,Hl1}}
|
221
init.lua
221
init.lua
@ -1,221 +0,0 @@
|
|||||||
-- Versionsnummer. Diese dient vor allem zu Diagnosezwecken.
|
|
||||||
-- Ich weiss jetzt noch nicht, wie viele verschiedene Versionen von dem Script spaeter herumfliegen werden.
|
|
||||||
KsKitVer=0
|
|
||||||
|
|
||||||
-- Grundsätzliche Typen von Signalbildern
|
|
||||||
FAHRT=1
|
|
||||||
HALT=2
|
|
||||||
RANGIERFAHRT=3
|
|
||||||
ERSATZFAHRT=4
|
|
||||||
AUS=5
|
|
||||||
|
|
||||||
-- Signalbilder des Hv-Signalsystems
|
|
||||||
Hp0={HALT}
|
|
||||||
Hp1={FAHRT}
|
|
||||||
Hp2={FAHRT, V_max=40}
|
|
||||||
Vr0={FAHRT, H_erwarten=true}
|
|
||||||
Vr1={FAHRT}
|
|
||||||
Vr2={FAHRT, V_erwarten=40}
|
|
||||||
|
|
||||||
-- Signalbilder OSJD/EZMG/Hl-Signale des Ostblocks
|
|
||||||
-- V_erwarten=60 wird durch V_erwarten=40 signalisiert
|
|
||||||
Hl1={FAHRT}
|
|
||||||
Hl2={FAHRT, V_max=100}
|
|
||||||
Hl3a={FAHRT, V_max=40}
|
|
||||||
Hl3b={FAHRT, V_max=60}
|
|
||||||
Hl4={FAHRT, V_erwarten=100}
|
|
||||||
Hl5={FAHRT, V_max=100, V_erwarten=100}
|
|
||||||
Hl6a={FAHRT, V_max=40, V_erwarten=100}
|
|
||||||
Hl6b={FAHRT, V_max=60, V_erwarten=100}
|
|
||||||
Hl7={FAHRT, V_erwarten=40}
|
|
||||||
Hl8={FAHRT, V_max=100, V_erwarten=40}
|
|
||||||
Hl9a={FAHRT, V_max=40, V_erwarten=40}
|
|
||||||
Hl9b={FAHRT, V_max=60, V_erwarten=40}
|
|
||||||
Hl10={FAHRT, H_erwarten=true}
|
|
||||||
Hl11={FAHRT, V_max=100, H_erwarten=true}
|
|
||||||
Hl12a={FAHRT, V_max=40, H_erwarten=true}
|
|
||||||
Hl12b={FAHRT, V_max=60, H_erwarten=true}
|
|
||||||
Hl13={HALT}
|
|
||||||
|
|
||||||
-- Zusatzsignale (DS 301 Namen)
|
|
||||||
Zs1={ERSATZFAHRT}
|
|
||||||
Sh1={RANGIERFAHRT} -- war Ra12 bei DR
|
|
||||||
|
|
||||||
-- Signalebilder der jeweiligen Signalmodelle
|
|
||||||
Signalmodelle={
|
|
||||||
-- V11NHK10024 HL-Signale der DR *V40* - Grundset
|
|
||||||
["Hl_Signal_Ausfahrt_V40_HK1"]={ Hl13,Hl1,Hl3a,Zs1,Sh1,Hl13 },
|
|
||||||
["Hl_Signal_Ausfahrt_Vmax_HK1"]={ Hl13,Hl1,Zs1,Sh1,Hl13 },
|
|
||||||
["Hl_Signal_Block_HK1"]={ Hl13,Hl1,Zs1,Hl13 },
|
|
||||||
["Hl_Signal_Einfahrt_V40_HK1"]={ Hl13,Hl1,Hl7,Hl10,Hl3a,Hl9a,Hl12a,Zs1,Hl13 },
|
|
||||||
["Hl_Signal_Selbstblock_HK1"]={ Hl13,Hl1,Hl10,Hl13 },
|
|
||||||
["Hl_Signal_Vorsignal_V40_HK1"]={ Hl10,Hl7,Hl1 },
|
|
||||||
["Hl_Signal_Vorsignalwiederholer_V40_HK1"]={ Hl10,Hl7,Hl1 },
|
|
||||||
-- V11NHK10025 HL-Signale der DR *V60* - Erweiterungsset
|
|
||||||
["Hl_Signal_Ausfahrt_V60_HK1"]={ Hl13,Hl1,Hl3b,Hl3a,Zs1,Sh1,Hl13 },
|
|
||||||
["Hl_Signal_Einfahrt_V60_HK1"]={ Hl13,Hl1,Hl4,Hl7,Hl10,Hl3b,Hl6b,Hl9b,Hl12b,Hl3a,Hl6a,Hl9a,Hl12a,Zs1,Hl13 },
|
|
||||||
["Hl_Signal_Vorsignalwiederholer_V60_HK1"]={ Hl10,Hl7,Hl1 }
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
Signalmeta = {}
|
|
||||||
|
|
||||||
Signalmeta.__call= function(table, data)
|
|
||||||
local sigobj = {}
|
|
||||||
local mt = {}
|
|
||||||
mt.__index = table
|
|
||||||
setmetatable(sigobj, mt)
|
|
||||||
for k, v in pairs(data) do
|
|
||||||
local setter = "set_"..tostring(k)
|
|
||||||
if type(sigobj[setter]) == "function" then
|
|
||||||
sigobj[setter](sigobj, v)
|
|
||||||
else
|
|
||||||
error("Invalid signal property "..tostring(k))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return sigobj
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Basisklasse fuer alle Signale
|
|
||||||
-- Entspricht den Signalen von vor EEP 6: Stellung 1 ist Fahrt, Stellung 2 ist Halt
|
|
||||||
Basissignal = {
|
|
||||||
Begriffe = { Hp1, Hp0 }
|
|
||||||
}
|
|
||||||
setmetatable(Basissignal, Signalmeta)
|
|
||||||
|
|
||||||
function Basissignal:set_1(v)
|
|
||||||
if type(v) ~= "number" then
|
|
||||||
error("Signal ID must be number")
|
|
||||||
end
|
|
||||||
self.ID = v
|
|
||||||
end
|
|
||||||
|
|
||||||
USignal = {}
|
|
||||||
setmetatable(USignal, Signalmeta)
|
|
||||||
|
|
||||||
-- Datenbank fuer Tabelle
|
|
||||||
KsFahrstrassen = {}
|
|
||||||
|
|
||||||
-- Fahrstrasse in Datenbank aufnehmen
|
|
||||||
function FS(Tabelle)
|
|
||||||
KsFahrstrassen[Tabelle[1]] = Tabelle
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Datenbank fuer Signale
|
|
||||||
KsSignale = {}
|
|
||||||
|
|
||||||
-- KsSignale von GK3 sind sehr systematisch benannt, die moeglichen Stellungen lassen sich aus dem Namen herleiten
|
|
||||||
function GK3KsBegriffe(Modell)
|
|
||||||
local Teile = {}
|
|
||||||
for str in string.gmatch(Modell, "([^_ ]+)") do
|
|
||||||
Teile[str]=true
|
|
||||||
end
|
|
||||||
local Stellungen = {}
|
|
||||||
|
|
||||||
-- Halt am Hauptsignal
|
|
||||||
if Teile["A"] or Teile["B"] then
|
|
||||||
table.insert(Stellungen, {"Hp0"})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Halt erwarten
|
|
||||||
-- ... am Wiederholer
|
|
||||||
if Teile["VSigWdh"] then
|
|
||||||
table.insert(Stellungen, {"Ks2","Kl"})
|
|
||||||
end
|
|
||||||
-- ... An MAS oder Vorsignalen
|
|
||||||
if Teile["MAS"] or Teile["VSig"] then
|
|
||||||
if Teile["verkuerzt"] then
|
|
||||||
table.insert(Stellungen, {"Ks2","Kl"})
|
|
||||||
end
|
|
||||||
table.insert(Stellungen, {"Ks2"})
|
|
||||||
if Teile["Kl"] then
|
|
||||||
table.insert(Stellungen, {"Ks2","Kl"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Fahrt/Fahrt erwarten
|
|
||||||
table.insert(Stellungen, {"Ks1"})
|
|
||||||
|
|
||||||
-- Langsamfahrt erwarten
|
|
||||||
-- ... am Wiederholer
|
|
||||||
if Teile["VSigWdh"] then
|
|
||||||
table.insert(Stellungen, {"Ks1bl","Kl"})
|
|
||||||
end
|
|
||||||
-- ... am MAS oder Vorsignalen
|
|
||||||
if Teile["MAS"] or Teile["VSig"] or Teile["VSigWdh"] then
|
|
||||||
if Teile["verkuerzt"] then
|
|
||||||
table.insert(Stellungen, {"Ks1bl","Kl"})
|
|
||||||
end
|
|
||||||
table.insert(Stellungen, {"Ks1bl"})
|
|
||||||
if Teile["Kl"] then
|
|
||||||
table.insert(Stellungen, {"Ks1bl","Kl"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Rangierfahrt an Ausfahrsignalen
|
|
||||||
if Teile["A"] then
|
|
||||||
table.insert(Stellungen, {"Sh1"})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Ersatzsignal an Ausfahrsignalen und Blocksignalen ohne Vorsichtssignal
|
|
||||||
if Teile["A"] or (Teile["B"] and not Teile["V"]) then
|
|
||||||
table.insert(Stellungen, {"Zs1"})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Vorsichtssignal an Hauptsignalen
|
|
||||||
if Teile["V"] then
|
|
||||||
table.insert(Stellungen, {"Zs7"})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Kennlicht
|
|
||||||
if Teile["Kl"] or Teile["VSigWdh"] or Teile["verkuerzt"] then
|
|
||||||
table.insert(Stellungen, {"Kl"})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Dunkel geschaltet
|
|
||||||
table.insert(Stellungen, {})
|
|
||||||
return Stellungen
|
|
||||||
end
|
|
||||||
|
|
||||||
local GK3KsBauarten={
|
|
||||||
"Ks_Sig_A",
|
|
||||||
"Ks_Sig_A_MAS",
|
|
||||||
"Ks_Sig_A_MAS_Kl",
|
|
||||||
"Ks_Sig_A_V",
|
|
||||||
"Ks_Sig_A_V_MAS",
|
|
||||||
"Ks_Sig_A_V_MAS_Kl",
|
|
||||||
"Ks_Sig_B",
|
|
||||||
"Ks_Sig_B_MAS",
|
|
||||||
"Ks_Sig_B_V",
|
|
||||||
"Ks_Sig_B_V_MAS",
|
|
||||||
"Ks_Sig_B_V_MAS_Kl",
|
|
||||||
"Ks_Sig_VSig",
|
|
||||||
"Ks_Sig_VSigWdh",
|
|
||||||
"Ks_Sig_VSig_verkuerzt"
|
|
||||||
}
|
|
||||||
|
|
||||||
for cnt=1, #GK3KsBauarten do
|
|
||||||
_G[GK3KsBauarten[cnt]]=function(Meta)
|
|
||||||
Signal=Meta[1]
|
|
||||||
Meta[1] = nil
|
|
||||||
-- Falls kein name gegeben, einen generieren
|
|
||||||
if Meta.Name == nil then
|
|
||||||
Meta.Name = string.format("%d", Signal)
|
|
||||||
end
|
|
||||||
if type(Meta.Schild) == "number" then
|
|
||||||
Meta.Schild="#"..tostring(Meta.Schild)
|
|
||||||
end
|
|
||||||
Meta.Kennzahl = Kennzahl
|
|
||||||
Meta.Begriffe = GK3KsBegriffe(GK3KsBauarten[cnt])
|
|
||||||
KsSignale[Signal] = Meta
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function KsKitInit()
|
|
||||||
for Signal, Meta in pairs(KsSignale) do
|
|
||||||
if Meta.Schild ~= nil then
|
|
||||||
EEPStructureSetTextureText(Meta.Schild, 1, Meta.Kennzahl)
|
|
||||||
EEPStructureSetTextureText(Meta.Schild, 2, Meta.Name)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
Loading…
Reference in New Issue
Block a user