Deutsches Simutransforum

Normale Version: Spezialkartenerstellung - automatisch?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hy!

Und nun kommt wieder eine spezielle RubberDuck-Frage! Wink

Ich moechte mir spezielle Karten OHNE ein Zeichenprog erstellen.
Zur Kartenerstellung moechte ich mir ein kleines QBasic-Prog schreiben, welches dann die benoetigten Werte in die Kartendatei schreibt.

Auf was muss ich hierbei achten? Gibt es bei diesem Dateiformat irgendwelche "Header"? Gibt es einen Zusammenhang zwischen der Hoehe der Berge und den Werten in der Kartendatei? Wenn ja, welcher Wert erzeugt welche Hoehe?

Ich versuchte eine Kartendatei zu analysieren, bin dabei allerdings nicht schlauer geworden. Ich wollte auch schon die Suchfunktion verwenden, wusste bzw. weiss allerdings nicht, wonach ich suchen koennte. Hat jemand dazu Tips (nicht zur Programmierung)?

Gruss RubberDuck
Das Karteformat stammt aus der Computersteinzeit. Es geht nicht viel simpler as so: (Das "Format" ist das PPM-Format.)

Code:
/**
* Calculates preview from height map
* @param filename name of heightfield file
* @author Hajo/prissi
*/
bool
welt_gui_t::update_from_heightfield(const char *filename)
{
    FILE *file = fopen(filename, "rb");
    if(file) {
        char buf [256];
        int w, h;
        
        read_line(buf, 255, file);
        if(buf[0]!='P'  ||  buf[1]!='6') {
            return false;
        }
        
        read_line(buf, 255, file);
        sscanf(buf, "%d %d", &w, &h);
    
        read_line(buf, 255, file);
        if(buf[0]!='2'  ||  buf[1]!='5'  ||  buf[2]!='5') {
            return false;
        }
        for(int y=0, y=0; y<h; y++) {
            // new line?
            for(int x=0; x<w; x++) {
                sint16 R = (unsigned char)fgetc(file);
                sint16 G = (unsigned char)fgetc(file);
                sint16 B = (unsigned char)fgetc(file);
                    
                karte[(y*w)+x] = reliefkarte_t::calc_hoehe_farbe( (((R*2+G*3+B)/4 - 224+16)&(sint16)0xFFF0), sets->gib_grundwasser() );
            }
        }

Wurzelgnom

Zitat:Original von FrankP
Vieleicht hilft die Seite http://wiki.simutrans.com/tiki-index.php...%2FReliefs
Dito, auch dieser Link ist defekt

Wurzelgnom

Der muss defekt sein, weil das Tikiwiki in der Mülltonne gelandet ist.

Und an Hand des Post-Datums und der Diskussion ums Mediawiki sollte das auch jedem klar sein.

Bzw. steht auf der Mediawiki Startseite, dass das alte Wiki verlohren ist. Das betrifft vor allem den Englischen Teil. Und die verlinkte Seite ist eine Englische gewesen.
Zitat:Original von FrankP
Der muss defekt sein, weil das Tikiwiki in der Mülltonne gelandet ist.
an Hand des Post-Datums .. sollte das auch jedem klar sein.
Bzw. steht auf der Mediawiki Startseite, dass das alte Wiki verloren ist.
Mag ja sein.
Das bedeutet aber, dass man mit der vielgepriesenen Forum-
Suche und dem anschliessenden lesen der Forum-Beiträge
oft doch nicht zur gesuchten Info kommt.

Wurzelgnom

Zitat:Original von HaJo4
Zitat:Original von FrankP
Der muss defekt sein, weil das Tikiwiki in der Mülltonne gelandet ist.
an Hand des Post-Datums .. sollte das auch jedem klar sein.
Bzw. steht auf der Mediawiki Startseite, dass das alte Wiki verloren ist.
Mag ja sein.
Das bedeutet aber, dass man mit der vielgepriesenen Forum-
Suche und dem anschliessenden lesen der Forum-Beiträge
oft doch nicht zur gesuchten Info kommt.

Das haben die, die die Wikisoftware gewechselt haben wohl nicht bedacht.
Sämtliche Verlinkungen ins Tikiwiki funktionieren nicht mehr. Sprich alle Wiki-Links der letzten 18 Monate müssten korrigiert werden.

Es könnte auch eine tiki-index.php unter wiki.simutrans.com erstellt werden, die dann Weiterleitet. Zumindest bei den deutschen Seiten müsste das funktionieren.

Am einfachsten wäre dabei, wieder Tikiwiki zu benutzen.
Bei Verwendung von Mediawiki müssten dann die alten Tiki-Seitennamen auf die neuen Media-Seitennamen umgesetzt werden.