summaryrefslogtreecommitdiffstats
path: root/TemplePushing.c4s/Locals.c4d/Sonne.c4d
diff options
context:
space:
mode:
authorJan <>2015-02-02 17:55:29 +0100
committerJan <_>2015-07-10 17:49:45 +0200
commit32a9632fbca3dd7a88bd3154b84a3773af39c276 (patch)
treea226b9404844a73c7229e9d13db993c86b5be2c1 /TemplePushing.c4s/Locals.c4d/Sonne.c4d
parent40fb3e5d61c44886b06d839a35adb0c11a5f918f (diff)
downloadtempelschubsen-32a9632fbca3dd7a88bd3154b84a3773af39c276.tar.gz
tempelschubsen-32a9632fbca3dd7a88bd3154b84a3773af39c276.zip
TemplePush v6.1.7601.18409.c4s
Diffstat (limited to 'TemplePushing.c4s/Locals.c4d/Sonne.c4d')
-rw-r--r--TemplePushing.c4s/Locals.c4d/Sonne.c4d/ActMap.txt17
-rw-r--r--TemplePushing.c4s/Locals.c4d/Sonne.c4d/DefCore.txt11
-rw-r--r--TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescDE.txt1
-rw-r--r--TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescUS.txt1
-rw-r--r--TemplePushing.c4s/Locals.c4d/Sonne.c4d/Graphics.pngbin48292 -> 0 bytes
-rw-r--r--TemplePushing.c4s/Locals.c4d/Sonne.c4d/Names.txt2
-rw-r--r--TemplePushing.c4s/Locals.c4d/Sonne.c4d/Script.c191
7 files changed, 0 insertions, 223 deletions
diff --git a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/ActMap.txt b/TemplePushing.c4s/Locals.c4d/Sonne.c4d/ActMap.txt
deleted file mode 100644
index 03847bb..0000000
--- a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/ActMap.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-[Action]
-Name=SeiBrav
-Procedure=FLOAT
-Length=1
-Delay=1
-EndCall=TuWasBraves
-NextAction=SeiBrav
-Facet=0,0,192,192,-96,-96
-
-[Action]
-Name=IchWillNurSpielerZaehlen
-Procedure=FLOAT
-Length=1
-Delay=10
-FacetBase=0
-EndCall=PruefeAlleSpieler
-NextAction=IchWillNurSpielerZaehlen \ No newline at end of file
diff --git a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DefCore.txt b/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DefCore.txt
deleted file mode 100644
index 0781943..0000000
--- a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DefCore.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-[DefCore]
-id=SONE
-Version=4,9,8
-Name=Sun
-Category=C4D_StaticBack|C4D_Environment
-MaxUserSelect=1
-Width=1
-Height=1
-Offset=-1,-1
-Picture=192,0,64,64
-BlitMode=1
diff --git a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescDE.txt b/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescDE.txt
deleted file mode 100644
index e2177c9..0000000
--- a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescDE.txt
+++ /dev/null
@@ -1 +0,0 @@
-Die Sonne. Sie scheint und zieht über den Himmel. \ No newline at end of file
diff --git a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescUS.txt b/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescUS.txt
deleted file mode 100644
index d99b86e..0000000
--- a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/DescUS.txt
+++ /dev/null
@@ -1 +0,0 @@
-The sun shines and wanders across the sky. \ No newline at end of file
diff --git a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Graphics.png b/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Graphics.png
deleted file mode 100644
index 62add4d..0000000
--- a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Graphics.png
+++ /dev/null
Binary files differ
diff --git a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Names.txt b/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Names.txt
deleted file mode 100644
index e88af87..0000000
--- a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Names.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-DE:Sonne
-US:Sun
diff --git a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Script.c b/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Script.c
deleted file mode 100644
index ded97c5..0000000
--- a/TemplePushing.c4s/Locals.c4d/Sonne.c4d/Script.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/*-- Sonne --*/
-
-#strict
-
-local SonneX, SonneY;
-
-func IsLight() { return(1); }
-
-// Initialisierung
-protected func Initialize()
-{
- // In den Hintergrund mit dir.
- SetCategory(C4D_StaticBack()|C4D_Background());
- // Action setzen
- SetAction("SeiBrav");
- // Nur für den Herrn und Meister sichtbar
- SetVisibility (VIS_Owner(), this());
- if(!FindObject(GetID()))
- // Das erste Sonnen-Objekt prüft nur, dass jeder Spieler auch sein Umweltobjekt hat
- {
- SetOwner(-1,this()); // Unparteiisch sein!
- SetCategory(1,this()); // Nicht bewegen
- SetAction("IchWillNurSpielerZaehlen");
- return();
- }
-}
-
-// Sucht einen Spieler, der keine Sonne hat (-1 für Erfolglos)
-private func FindeFreienSpieler()
-{
- for(var i=0; i<16; ++i)
- if(GetPlayerName(i)&&(!FindObjectOwner(GetID(),i)))
- return(i);
- return(-1);
-}
-
-// Prüft alle Spieler durch, ob denn auch jeder seine Sonne hat
-protected func PruefeAlleSpieler()
-{
- var FreierSpieler;
- while((FreierSpieler=FindeFreienSpieler())!=-1)
- ErstelleLenseflare(FreierSpieler);
-}
-
-// Erstellt eine Sonne und weist ihm einen Besitzer zu
-private func ErstelleLenseflare(FuerDiesenSpieler)
-{
- CreateObject(GetID(),0,0,FuerDiesenSpieler);
-}
-
-
-// Von "SeiBrav" aufgerufen
-protected func TuWasBraves()
-{
- // Bei vorhandenem Lenseflare (mit integrierter Sonne) kann dieses Objekt gelöscht werden
- if(ObjectCount(LENS))
- {
- RemoveObject(this());
- return();
- }
- // Hat es seinen Besitzer verloren? :(
- if((!GetPlayerName(GetOwner())) || GetOwner()==-1)
- {
- RemoveObject(this());
- return();
- }
- // Sonnenposition anpassen
- BerechneSonne();
- SetPosition(SonneX,SonneY);
- // Nachts ausblenden
- if(IsDay())
- SetVisibility (VIS_Owner());
- else
- SetVisibility (VIS_None());
- // Sofern der Spieler alleine ist, blenden
- var VektorDist=GibVektorDist(GetOwner());
- if(GetPlayerCount()==1)
- if(IsDay())
- {
- var Gelbstich = BoundBy((500-VektorDist)/5,0,100); // Prozentangabe 0 = weit weg, 100 = nahe; 500 Pixel sind dabei "weit weg"
- SetGamma (RGB(000+(30*Gelbstich)/100,000+(30*Gelbstich)/100,000),
- RGB(128+(60*Gelbstich)/100,128+(60*Gelbstich)/100,128),
- RGB(255,255,255), GammaRampe_Lenseflare());
- }
-}
-
-// Interner Kruscht!
-// Bildschirmmittelpunkt
-private func GibMittelpunktX(iSpieler)
-{
- if(IsNetwork())
- return(GetX(GetCursor(iSpieler)));
- else
- return(GetPlrViewX(iSpieler));
-}
-
-private func GibMittelpunktY(iSpieler)
-{
- if(IsNetwork())
- return(GetY(GetCursor(iSpieler)));
- else
- return(GetPlrViewY(iSpieler));
-}
-
-// Sonnenkoordinate
-private func BerechneSonne()
-{
- BerechneSonneX();
- BerechneSonneY();
-}
-private func BerechneSonneX()
-{
- var ZeitObjekt = FindObject(TIME);
- if(!ZeitObjekt)
- SonneX = LandscapeWidth() / 2;
- else
- {
- // Da die Winkelangaben aufgrund ihres Integer-Wesens zu ungenau für eine schöne Laufbahn sind
- // muss hier getrickst werden. Über Sin/Cos werden die Eckpunkte eines n-Ecks errechnet, auf den Linien
- // dazwischen fährt dann die Sonne.
- var Winkel = GibTageszeit()*360/100 +90;
- var VonEck = LandscapeWidth()/2+Cos(Winkel,LandscapeWidth()/2);
- Winkel = (GibTageszeit()+1)*360/100 +90;
- var ZuEck = LandscapeWidth()/2+Cos(Winkel,LandscapeWidth()/2);
- // Wieviele Ticks verstreichen während einem "Punkt" bei Tageszeit?
- // Sprich: Wieviele Zwischenschritte liegen zwischen VonEck und ZuEck?
- var Zwischenschritte = PrivateCall(ZeitObjekt,"TimeResolution") / 100;
- // Schrittweite in 1/100000 Pixel
- var Schrittweite = (ZuEck-VonEck)*100000 / (Zwischenschritte*TIME_Tick());
- // Wieviel TIME-Ticks sind seit der letzten "vollen" Tageszeit vergangen?
- var Vergangen = Local(1, ZeitObjekt) - GibTageszeit()*100;
- Vergangen=Vergangen*TIME_Tick()+FrameCounter()%10;
- SonneX = VonEck + (Vergangen*Schrittweite)/100000; // 100000 = 100000 wegen der 1/100000 Schrittweite
- }
-}
-
-private func BerechneSonneY()
-{
- var ZeitObjekt = FindObject(TIME);
- if(!ZeitObjekt)
- SonneY = 150;
- else
- {
- // Da die Winkelangaben aufgrund ihres Integer-Wesens zu ungenau für eine schöne Laufbahn sind
- // muss hier getrickst werden. Über Sin/Cos werden die Eckpunkte eines n-Ecks errechnet, auf den Linien
- // dazwischen fährt dann die Sonne.
- var Winkel = GibTageszeit()*360/100 +90;
- var VonEck = GetHorizonHeight(0)-Sin(Winkel,300)-50;
- Winkel = (GibTageszeit()+1)*360/100 +90;
- var ZuEck = GetHorizonHeight(0)-Sin(Winkel,300)-50;
- // Wieviele Ticks verstreichen während einem "Punkt" bei Tageszeit?
- // Sprich: Wieviele Zwischenschritte liegen zwischen VonEck und ZuEck?
- var Zwischenschritte = PrivateCall(ZeitObjekt,"TimeResolution") / 100;
- // Schrittweite in 1/100000 Pixel
- var Schrittweite = (ZuEck-VonEck)*100000 / Zwischenschritte;
- Schrittweite/=TIME_Tick(); // Jedes Time-Tick besteht aus 10 einzelnen Ticks
- // Wieviel TIME-Ticks sind seit der letzten "vollen" Tageszeit vergangen?
- var Vergangen = Local(1, ZeitObjekt) - GibTageszeit()*100;
- Vergangen=Vergangen*TIME_Tick()+FrameCounter()%10;
- SonneY = VonEck + (Vergangen*Schrittweite)/100000; // 100000 = 100000 wegen der 1/100000 Schrittweite
- }
-}
-
-private func TIME_Tick()
-{
- return(10);
-}
-
-private func GibTageszeit()
-{
- var ZeitObjekt = FindObject(TIME);
- if (!ZeitObjekt) return(-1);
- return(Local(1, ZeitObjekt)*100/PrivateCall(ZeitObjekt,"TimeResolution")); // 0-100=Mittag-Mittag
-}
-
-private func GibVektorDist(iSpieler)
-{
- return(Distance(GibMittelpunktX(iSpieler),GibMittelpunktY(iSpieler),SonneX,SonneY));
-}
-
-// Bodenhöhe. Aus dem Schmetterling übernommen und aktuelle Syntax und global gemacht und so. k?
-private func GetHorizonHeight(iX)
-{
- var iY = - GetY(); // Zu globaler Koordinate wandeln
- iX -= GetX(); // Zu globaler Koordinate wandeln
- while ( (iY<LandscapeHeight())&&(!GBackSemiSolid(iX,iY)))
- {
- iY+=10;
- }
- return(iY+GetY());
-} \ No newline at end of file