Zuerst: Ins Launchpad schauen nuetzt nix, ich hab den Code mit der Loesung noch nich hochgeladen :-D.
Ich dachte mir, ich stell hier mal fuer alle, die genauso gerne Raetsel machen wie ich, eines rein.
Das Raetsel dreht sich um den Schattierungsblock in den WLD-Dateien (SWD-Dateien) von Siedler 2.
Da Siedler 2 vorberechnete Schattierung benutzt, setzt der Editor bestimmte Werte in diesen Block, die das Spiel benutzt um heller/dunkler darzustellen.
Folgendes Hexagon soll das Hexagon aus dem Siedler 2 Editor repraesentieren.
Jeder der Punkte repraesentiert wiederrum einen Punkt auf der Map.
(Damit ist ein Vertex gemeint, der viele Informationen wie "Bauinformation",
"Schattierung", "Textur" und so weiter enthaelt.)
// X=7 X=8 X=9
// X=10 X=1 X=2 X=11
// X=12 X=3 X=0 X=4 X=13
// X=14 X=5 X=6 X=15
// X=16 X=17 X=18
Die Schattierungsinformationen habe ich jetzt mal auf dieses Hexagon uebertragen.
Wir gehen davon aus, dass NUR der Punkt in der Mitte (oben X=0) jeweils einmal erhoeht wird
und schauen uns nun an, was dadurch mit den Schattierungsdaten passiert.
Im Normalzustand (nicht erhoeht) sieht es so aus:
// 0x40 0x40 0x40
// 0x40 0x40 0x40 0x40
// 0x40 0x40 0x40 0x40 0x40
// 0x40 0x40 0x40 0x40
// 0x40 0x40 0x40
Jeder Punkt beinhaltet die Hex-Zahl 0x40. Was diese bedeutet ist fuer das Raetsel "unbekannt"
bzw. nicht "relevant", es ist eine Art Lichtwert.
Nach dem der mittlere Punkt 1x erhoeht wurde, sieht es folgendermassen aus:
// 0x40 0x40 0x40
// 0x40 0x40 0x40 0x37
// 0x40 0x40 0x49 0x3A 0x3D
// 0x40 0x49 0x40 0x40
// 0x40 0x40 0x40
Einige der Zahlen haben sich veraendert, nur nach welchem Muster?
Nach 2x erhoehen sieht es so aus:
// 0x40 0x40 0x40
// 0x40 0x40 0x40 0x2E
// 0x40 0x40 0x52 0x34 0x3A
// 0x40 0x52 0x40 0x40
// 0x40 0x40 0x40
Nach 3x erhoehen so:
// 0x40 0x40 0x40
// 0x40 0x40 0x40 0x25
// 0x40 0x40 0x5B 0x2E 0x37
// 0x40 0x5B 0x40 0x40
// 0x40 0x40 0x40
Nach 4x erhoehen:
// 0x40 0x40 0x40
// 0x40 0x40 0x40 0x1C
// 0x40 0x40 0x64 0x28 0x34
// 0x40 0x64 0x40 0x40
// 0x40 0x40 0x40
Nach 5x erhoehen:
// 0x40 0x40 0x40
// 0x40 0x40 0x40 0x13
// 0x40 0x40 0x6D 0x22 0x31
// 0x40 0x6D 0x40 0x40
// 0x40 0x40 0x40
Nach der 5. Erhoehung (also 6., 7. usw) veraendern sich die Zahlen zwar weiter jedoch nur,
weil die Punkte herum automatisch miterhoeht werden, das Muster setzt sich dann also an
den Randpunkten fort. Fuer uns sind nur diese 5 Stufen interessant, da sie voellig autonom
von den Punkten herum ablaufen.
Nun lautet die Frage:
Nach welcher Formel kann ich fuer einen beliebigen Punkt auf der Map die "Schatteninformation" ausrechnen?
Falls ich was undeutlich erklaert hab, einfach fragen :-).