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] | ||||
| EEPVersion	 = 10 | ||||
| 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