Move main lua file into Install_00 folder
This commit is contained in:
		
							parent
							
								
									cceeebbe82
								
							
						
					
					
						commit
						4490e324a1
					
				
					 3 changed files with 99 additions and 222 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue