Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Inne Narzędzia do automatycznej generacji rzeczywistych map
#1
Znalazłem wreszcie dane hydrograficzne które można wyeksportować do bitmapy, zarówno rzeki jak i jeziora.
Taką bitmape można po pierwsze nałożyć jako maskę na bitmapę wysokości (która, po konwersji na 16 poziomów wysokości, jest taka trochę plaskata)
i poprzez tę masę ciut zmniejszyć jasność - po czym usunąć maskę i po zapisaniu bitmapy i wczytaniu jej mamy teren urozmaicony o koryta rzek:
[Obrazek: editpatch1.jpg]
Oczywiście trzeba to jeszcze dopracować, aby koryta rzek nie wychodziły poza granice "pradolin".
Teraz trzeba jeszcze "namówić" openttd, aby zaimportował tę bitmapę i stworzył w odpowiednich miejscach rzeki i jeziora.
Dzięki korytom rzek mosty będą bez hopek, a doki nie będa potrzebować kopczyków:
[Obrazek: editpatch2.jpg]
Można by to łatwiej zrobić przez wyżłobienie koryt do poziomu morza, ale wtedy będą b. głębokie i bez tuneli.
Muszę jeszcze pogrubić ważniejsze rzeki.

Przy okazji, mam już gotowy patch do importu miast z bazy danych.
Ponieważ baza danych która mam zawiera prawie 20 tysięcy miejscowości a brak jest konkretnej informacji o wielkości miast, zrobiłem patch który małe miejscowości wczytuje losowo z możliwością dostrojenia szansy pojawienia się - czyli można regulować średnią gęstość.

Docelowo wszystkie rzeczy na mapie powinny być importowane z zewnętrznych plików, wtedy praca nie pójdzie na marne przy zmianach newgrf.

EDIT: tutaj będą linki do najnowszych wersji, aby nie trzeba było szukać w całym wątku.

Plik źródłowy console_cmds.cpp (wystarczy podmienić istniejący i skompilować):
https://www.tt-forums.net/download/file.php?id=185558
dostępne komendy import_land, industry_list, object_list, expand_towns.

Skompilowana wersja 1.5.0 pod Win32 zawierająca powyższe a także zoomx16:
http://149.156.194.203/~mczapkie/Train/T...import.zip

Strona z importem miast z Geonames oraz import rzek z bitmapy do plików txt tu:
http://ade.se/ttd/scenario-import-tool/

#2
Jak spisuje się tworzenie mapy wysokości z ustalonymi miastami na mapach o większej maksymalnej wysokości i na większych niż 2048x2048?
Jak na przykład "OpenTTD Spring 2013 patchpack v1.7.69 Full win64"
#3
Sprawdzałem ten dodatek z dużymi mapami i większą skalą wysokości, ale nie wygląda to ładnie - aby wyglądało ładnie - nachylenia kafli pozostają te same, ponadto nie wystarczy zaimportować mapy wysokości, trzeba nad nią trochę popracować.

Na razie udało mi się zrobić kolejny krok w drodze do automatycznej generacji rzeczywistej mapy
(co jest warunkiem sine qua non robienia rzeczywistej mapy z możliwością zmiany newgrf) -
otóż przerobiłem openttd tak, aby rzeki płynęły w korytach rzek i je w miarę całe wypełniały. Generacja rzek trwa znacznie dłużej, bo rzeki są generowane na całej długości (w oryginalnym openttd algorytm się przerywa gdy natrafi na inną rzekę),
ale zapewnia to nieprzerwany ciąg głównych rzek i większość ciągłych mniejszych rzek.
Poprawiłem też mechanizm tworzenia jezior, teraz są znacznie większe ale wielkość zależy od długości rzeki.
W ten sposób, bazując na bitmapie którą zamieściłem wyżej (z korytami rzek),
można w kilka chwil stworzyć sieć rzek oraz większych jezior.
Śniardwy, Goczałkowickie itp na ogół automatycznie się zapełniają (izolowane jeziora trzeba wydrążyć do poziomu zero).
Potrzebne są co najwyżej drobne poprawki, np. przy tamach:
[Obrazek: automated_river_flow.jpg]

Drugi patch z import_towns rozbudowałem tak, że oprócz wielkości miasta i prawdopodobieństwa jego budowy, można też definiować jego układ ulic.
Np. wymusić, aby Warszawa i Łódź miały 3x3, a średniowieczne Kraków i Wrocław miały te pozawijane "improved roads".
Miejscowości, które nie są wioskami (czyli zawsze się pojawiają), jeśli nie da się ich zbudować (bo np. jest w tym miejscu woda), są próbkowane obok (im większe miasto tym większy obszar próbkowania) i dopiero gdy to się nie uda, stawiany jest znak z nazwą miasta (można potem miasto dobudować ręcznie).

[Obrazek: import_landmarks.jpg]

Dołożyłem też drugą funkcję, import_landmarks, która pozwala na import z pliku tekstowego takich obiektów jak maszty i latarnie morskie, a także napisy.
Położenie można definiować za pomocą długości i szerokości geograficznej,
ale zamiast tego, aby mieć pewność gdzie te obiekty będą, bezpieczniej i wygodniej jest używać współrzędnych mapy (w tym przypadku z zakresu 0 do -2096).
Umieszczanie napisów z pliku to kluczowa rzecz do dalszej części, nad którą pracuję - game skryptu, który będzie umieszczał przemysł w trakcie gry.

Bitmapę wysokości, pliki wsadowe, przykładowy scenariusz (dorzucę go wieczorem w wersji 1.4.1) oraz pliki źródłowe można pobrać stąd:
http://149.156.194.203/~mczapkie/Train/T...nd2048.zip
Nad bitmapą trzeba jeszcze trochę popracować (wiele rzek jest zamulonych),
plik z miastami nie zawiera jeszcze ściany wschodniej,
plik z obiektami jest tylko przykładowy.
Binarek pod windows nie mam bo mi brakuje jakichś bibliotek, jak ktoś umie kompilować, to z powyższego pliku do katalogu trunc/src trzeba przerzucić pliki *.cpp.
#4
Zaktualizowałem plik poland2048.zip - jest tam teraz scenariusz
(tylko miasta, bez przemysłu i newgrf) który można testować,
scenariusz ten wrzuciłem tez na mój serwer PL experimental.
Poprawione są też pliki z definicjami miast i obiektów, bitmapa wysokości
oraz źródla pasują do wersji 1.4.1.

(17-06-2014, 13:20)Keibi napisał(a): A jak wgrać te pliki do pobrania, żeby w openie działały?
Pliki *.cpp z katalogu src wrzucasz do katalogu openttd-1.4.1/src
zastępując oryginalne, a następnie kompilujesz - zakładam że to umiesz.
Jeśli umiesz, czytaj dalej.

Mapę hmpoland2048.png trzeba dać oczywiście do scenario/heightmap
natomiast pliki z definicjami plt.txt i plo.txt do katalogu głównego openttd.

Po uruchomieniu zmodyfikowanego openttd, uruchamia się edytor scenariusza,
wczytuje mapę bitową hmpoland2048.png i chwilę się czeka, bo długo rzeki płyną.
Ja już dopłyną, to trzeba zrobić jakieś miasto - ja robię Svensk na północy gdzie niby jest Szwecja, i wtedy mozna zaimportować obiekty (musi być minimum 1 miasto).
W konsoli wpisuje się
importlandmarks plo.txt
i powinny się pojawić latarnie i anteny.
Następnie w konsoli wpisuje się
importtowns plt.txt
i po dłuższej chwili pojawiają się miasta.
Małe miasta i wsie pojawiają się za każdym razem inne, więc proszę nie reklamować, że brak jakiejś pipidówy Smile

Lasy i przemysł - to już sprawa skryptu w przyszłości.


Załączone pliki Miniatury
   
#5
Ten projekt McZapkie staje się coraz bardziej zaawansowany i nie ogranicza się tylko do mapy wysokościowej Polski. Może moderator mógłby podzielić ten wątek - zostawić tu 3 pierwsze posty, a resztę wrzucić do nowego wątku?

PS. McZapkie, naprawdę świetny projekt.
#6
Oddzieliłem. Masz pomysł na lepszą nazwę?
#7
W zasadzie to mapa Polski jest w tym projekcie tylko przykładem,
projekt polega na stworzeniu narzędzi umożliwiających szybką kreację opartych na rzeczywistym świecie map
(z pozostawioną pewną dozą losowości), tak aby można było ponownie stworzyć mapę gdyby zaszła konieczność zmiany newgrf.
Obecnie ręczne tworzenie map przypomina pracowite układanie mandali z barwnego piasku - po skończeniu można zamieść, bo nowe wersje newgrf zmienione "na siłę" w istniejącej mapie powodują liczne problemy.

Myślę więc, że bardziej adekwatna nazwa byłaby np: "Narzędzia do automatycznej generacji rzeczywistych map w oparciu o pliki zewnętrzne".
#8
W zasadzie narzędzie do wczytywania scenerii z pliku tekstowego mam już gotowe:
http://149.156.194.203/~mczapkie/Train/T...nd2048.zip
Jakby ktoś skompilował exe pod windows, to byłbym wdzięczny, mi nie działają libpng.

Po skompilowaniu openttd potrafi w trybie edycji scenariusza,
poprzez komendę konsolową import_land
wczytać miasta, obiekty, napisy, drzewa oraz przemysł.
W powyższym archiwum są cztery pliki:
plo.txt pierwsze miasto i obiekty (latarnie, anteny)
plt.txt wszystkie miasta
plf.txt drzewa
pli.txt przemysł
i w tej kolejności polecam wczytywać.

Ponadto przy tworzeniu scenariusza z mapy wysokościowej, rzeki płyną korytami rzek, jeziora wypełniają swoje baseny, a skał jest więcej w górach niż dolinach.

Ciągle zostaje mi do zrobienia skrypt który będzie tworzył przemysł w trakcie gry.

Scenariusz na razie wygenerowałem dla standardowego przemysłu w klimacie umiarkowanym, można go testować na multiplayer na PL experimental.


Załączone pliki Miniatury
   
#9
Wrzucam binarke dla Win


Załączone pliki
.7z   openttd_import_land.7z (Rozmiar: 3.75 MB / Pobrań: 105)
#10
Patch jest już gotowy, można wczytywać z pliku miasta, wsie, obiekty, napisy, przemysł, lasy, skały, rzeki/kanały a także czyścić kratki (np. w celu usuwania wody).
Ponadto bardzo małe miejscowości mogą być zastąpione przemysłem (mam bazę danych 40 tys. polskich miasteczek i wsi, losowo stawiane są tylko wybrane, ale i tak ich wiele - zamiast nich mogą być farmy itp).
Nagłówek pliku powinien zawierać:
współrzędne brzegów mapy
prawdopodobieństwo wsi b. małych i małych oraz prawdopodobieństwo zastąpienia b. małych przez przemysł
10 identyfikatorów przemysłu zastępującego opcjonalnie bardzo małe wsie
(lista identyfikatorów jest np. tu: https://newgrf-specs.tt-wiki.net/wiki/In...properties kolumna 0B)

Przykładowy początek pliku:
Kod:
55,24.19,48.4,13.95
1,15,20
9,9,9,9,9,9,9,3,3,2
# header above, city or object list below:
KAUNAS,M,1,54.897280,23.899059,3
Druskininkai,S,0,54.016667,23.966667,5
Naujeliskiai,V,1,54.45,23.2,5
Rubaiciai,V,0,54.45,23.65,5
# etc.
Pierwsze 3 linijki to nagłówek, potem są linijki z kolejnymi obiektami, tu akurat z miastami, ale mogą też być inne, zależnie od komendy czyli litery po nazwie obiektu.
Format linijki definiującej obiekt:
Kod:
<nazwa_obiektu>,<komenda>,<rozmiar/istotność>,<szerokość geog.>,<długość geogr.>,<układ/rodzaj itp>
W pliku tekstowym mogą być następujące komendy i ich parametry:

Kod:
<komenda>       <rozmiar/istotność>            <układ/rodzaj itp>
miasta:
L,M,S           0/1: miasto/metropolia         0...4 układ ulic, 5: z ustawień gry
wsie:
V                  0/1: małe/duże prawdopodobieństwo     0...4 układ ulic, 5: z ustawień gry
obiekty:
T                  0/1: napis                           0: antena, 1: latarnia
napisy
N                  brak                                 brak
przemysł
Y                            0/1: napis                                             Id - 0: kopalnia, 1: elektrownia, itp...
lasy
F                            rozmiar lasu (0 to pojedyczne drzewo)       rodzaj drzewa
skały
R                            ilość losowych pól skalnych                      brak
woda
W                           rozmiar (0 to pojedyncza kratka)               0: rzeka, 1: kanał
czyszczenie kratki
D                            rozmiar obszaru                                     kształt obszaru - 0: kwadrat, 1: romb

(niestety to forum nie umie formatować tekstu o stałej szerokości).

W załączeniu zmodyfikowane pliki źródłowe landscape.cpp i console_cmds.cpp
(nie trzeba patchować, wystarczy podmienić za oryginalne i skompilować)
a dla nieumiejących kompilować - plik openttd.exe (ale w wersji wczytującej tylko BMP jako bitmapy wysokościowe).
Jest też bitmapa wysokościowa i komplet plików txt do generacji mapy Polski.
Powinno wyjść coś takiego:
http://www.tt-forums.net/download/file.php?id=179704
http://www.tt-forums.net/download/file.php?id=179705

Z tymi narzędziami można spokojnie zmieniać newgrf, klimat itp., po prostu generując nową mapę.
W przypadku standardowego przemysłu, polecam zastąpić go przez manualindustries.grf, w którym można ustawić (podobnie jak w FIRS) aby przemysł nie znikał i nie pojawiał się w sposób przypadkowy.
Co do pojawiania się przemysłu w grze w konkretnych miejscach, to opiszę to innym razem.
#11
Brawo McZapkie, świetna robota dla mapperów! Ja nie jestem i nigdy nie byłem maperem, więc to co zrobiłeś byłoby mi obojętne.. gdyby nie to, że dołączyłeś "przykładowy" scenariusz wygenerowany z heightmapy. Jest naprawdę dobry! W zasadzie jest to pierwsza mapa Polski, która nie używa w sposób "prostacki" mapy wysokości, tylko ją odpowiednio modyfikuje, by wygenerowane mapy nie były aż takie płaskie i nudne. (vide http://openttd-polska.pl/Temat-Inne-Nowa...0#pid14560) Szczególnie podobają mi się rzeki, które nie mają szerokości jednego piksela. Jeziora na Kaszubach i Mazurach są super - nie widziałem jeszcze mapy Polski, która by o nich wszystkich nie zapominała.

Drobne uwagi do PL2096mi.scn (md5sum 3eabc4f47983ec541a672387f77b9fd1):

Ląd na Helu jest zbyt wąski i znika w minimapie. Estetycznie niefajne. http://upload.nowaker.net/nwkr/1406393429_hel.png

Wejherowo ma zero mieszkańców. Podejrzewam, że najpierw były generowane miasta, potem nakładane rzeki, co pozostawiło tylko drogę w Wejherowie.

Doceniam effort ulepszenia heightmapy, ale nadal jest tutaj duże pole do popisu. Smile W dalszym ciągu za dużo nudnych nizin, na których budowa linii kolejowej jest zbyt prosta. http://upload.nowaker.net/nwkr/1406395642_slask.png

A gdyby tak wprowadzić jakiś algorytm, który by generował zaburzenia terenu, gdy jest zbyt prosty? Na przykład na każdy płaski kawałek 10x10 nakładać maskę, która teren podwyższy i obniży w paru miejscach. Np. taka maska. http://upload.nowaker.net/nwkr/140639436...d-mask.png Trzeba by przygotować 50 różnych masek, wybierać je losowo i nakładać na płaskie miejsca, a teren byłby całkiem ciekawy i niejednostajny.

Algorytm pojawiania się miast mniejszych niż X mieszkańców jest losowy. Algorytm jest poprawny matematycznie, ale generuje bezludne dziury - np. Kaszuby czy Podlasie. http://upload.nowaker.net/nwkr/1406395331_map.png Proponowałbym jeszcze wzięcie pod uwagę gęstości miast w danym rejonie. Wiem, że tam są same małe wioski, ale jeśli jakiekolwiek tory mają tam pójść, to jakaś minimalna liczba miast na jednostkę powierzchni musiałaby być ustalona.

Albo może wprowadzić algorytm, który będzie normalizował liczbę miast do ludności zamieszkującej dane województwo? Liczba mieszkańców w pomorskiem i zachodnio-pomorskiem niewiele się różni (2,2M vs 1,7M). W Twoim scenariuszu jest to odpowiednio 6.9K i 5K, podczas gdy proporcjonalną wartością byłoby 5.3K. 300 to 6 dodatkowych miast o populacji ~50, co na pewno załatałoby te dziury.

Dodatkowo podkreśliłbym że jest to przede wszystkim mapa Polski, a nie Czech czy Słowacji. Zredukowałbym liczbę miast tamże do liczby podobnej do obecnych Kaszub.

Pomyśl o utrzymywaniu projektu "Inna Nowa Mapa Polski" Wink Grałbym.
#12
Najpierw są robione rzeki (w trakcie wczytywania bitmapy), wszystko inne potem.
Oczywistą rzeczą jest że automatyczny algorytm nie sprawi, że mapa będzie od razu gotowa do użytku - zawsze trzeba ją przeglądnąć, uzupełnić przerwane rzeki (wczytanie plw.txt uzupełnia rzeki tam gdzie najczęściej "wysychają" czyli za zaporami) oraz posortować miasta w/m rozmiaru i powiększyć te co mają mniej niż kilkanaście mieszkańców.
Nawiasem mówiąc, gdy się używa skryptu RealGrowth, to miasta nawet zerowe rosną na początku gry i tego problemu nie ma.

Nad bitmapą wysokościową trzeba jeszcze popracować - dodać niewielkie wzgórza morenowe na Pomorzu i Mazurach, co do Górnego Śląska to tam będzie przemysł dostawiany który wymaga płaskiego miejsca.

Nierównomierna gęstość mieszkańców wynika z nierównomiernej ilości miejscowości o danej kategorii w mojej bazie danych. Już to trochę poprawiłem, ale w przyszłości chcę plik z miastami podzielić na kilka mniejszych,
ponieważ obecnie część miejscowości jest zastępowana przemysłem (np. tworzy się farma z nazwą miejscowości) i chcę mieć lepsza kontrolę nad tym przemysłem i gęstością miast.

Mapę intensywnie testuję na 149.156.194.203, ale to już temat na inny wątek.
#13
Pozostała ostatnia ważna rzecz - gdy stworzymy mapę bazującą na realiach, chcielibyśmy aby przemysł pozostał na swoich miejscach a ponadto nowy przemysł był w czasie gry tworzony mniej więcej tam, gdzie w rzeczywistości.
Standardowo przemysł znika i pojawia się zupełnie losowo, więc po pewnym czasie będziemy mieli kopalnie węgla w Tatrach zamiast na Śląsku.
Aby tego uniknąć, potrzebne są dwie rzeczy:
  1. newgrf ze "stabilnym" przemysłem czyli możliwością wyłączenia losowości (np. Manual_Industries, Firs, Ecs)
  2. skrypt gry budujący przemysł - i tu wielkie podziękowania dla Alberta za zrobienie takiego skryptu i nauczenie mnie tajników programowania w Squirrel.
Manual_Industries to prosty newgrf którego przemysł jest identyczny jak w standardzie, ale można zablokować tworzenie i znikanie przemysłu w czasie gry.

Natomiast skrypt TileLabel_IndustryBuilder używa biblioteki TileLabels odczytując ze scenariusza wszystkie napisy, które się zaczynają specjalnym prefiksem - usuwa te napisy natychmiast po uruchomieniu gry.
Z tych napisów wyławia nazwę przemysłu, rok budowy, identyfikator przemysłu oraz rozmiar losowego obszaru tworzenia.
Gdy nastanie rok budowy, skrypt stara się co miesiąc zbudować przemysł, losując różne miejsca wokół położenia napisu. Jeśli ostatnia liczba wynosi 0, przemysł będzie budowany dokładnie w miejscu napisu - ale jeśli próba nie będzie udana, rozmiar losowego obszaru będzie powiększany.
W ustawieniach skryptu można ustawić 3 poziomy "debug level" - na najniższym nic nie jest wypisywane, na średnim wypisywana jest nazwa przemysłu jeśli się go uda zbudować, na najwyższym wypisywana jest nazwa przemysłu przy każdej próbie budowy.

Innymi słowy - w scenariuszu umieszczamy napisy w postaci:
Kod:
>>>Nazwa Wlasna Przemyslu:yyyy:ii:rr
gdzie >>> jest tym specjalnym prefiksem (można to zmienić na inny), : jest separatorem, yyyy rokiem budowy, ii to identyfikator przemysłu a rr to rozmiar losowego obszaru - a skrypt tworzy przemysł w trakcie gry.
Oczywiście napisy można wczytać z pliku txt z pomocą narzędzia import_land opisywanego wcześniej.

Konkretny przykład: w edytorze scenariusza:
[Obrazek: industrybuilder-edit.jpg]
gra, rok 1951:
[Obrazek: industrybuilder-start.jpg]
ta sama gra, rok 1985:
[Obrazek: industrybuilder-built.jpg]
Dzięki losowemu tworzeniu po pierwsze rozgrywka nie jest schematyczna bo za każdym razem przemysł jest trochę w innym miejscu, po drugie jest większa szansa, że ktoś nie zablokuje przemysłu stacją.
W czasie pierwszego roku skrypt buduje wszystko, co jest "zaległe", sięgając do 50 lat wstecz.

Przy okazji - identyfikator przemysłu jest liczbą nieujemną.
Jeśli podamy liczbę ujemną, zamiast przemysłu zostanie zbudowane miasto - co widać na załączonym obrazku. Rodzaj ulic zależy wtedy od tego ujemnego identyfikatora.

Skrypt jest dostępny tutaj:
http://149.156.194.203/~mczapkie/Train/t...uilder.zip
Ponieważ może być uruchomiony tylko jeden skrypt, obecnie testuję hybrydę skryptu TileLabel_IndustryBuilder oraz skryptu RealGrowth kontrolującego wzrost miast - ale potrzebne tu są pewne poprawki z uwagi na tworzenie nowych miast.
#14
Szczere brawa dla ciebie Smile Jesteś Miszczem, aczkolwiek mam mały problem. pobrałem binarke on Mama, wgrałem do folderu z grą, edytor scenariuszy , wppisuję komende import land iiii i co dalej bo wszelkie próby kończyły się niczym Sad

Edit: komende import land przyjmuje ale nie wiem co dalej Sad
Proszę pomóż Sad
#15
Witam!
Przeglądam regularnie forum od dłuższego czasu, śledzę rozwój setów i jest pod wrażeniem ogromu pracy jak wkładacie we wszystkie projekty. Świetna robota, pogratulować.
Jednakowoż mam pytanie i prośbę do McZapkiego - czy nie dało by się udostępniać, co jakiś czas, najbardziej aktualnej mapy, według Twojego projektu, w formie zwykłego scenariusza? Tak aby laik taki jak ja, bez elementrarnej wiedzy z zakresu programowania czy kompilacji, mógł również skorzystać z dobrodziejstwa tej fanstastycznej mapy polski?
Pozdrawiam!
#16
Niedługo będzie nowa wersja mapy z zupełnie nową mapą wysokości.
Zatkualizowany plik console_cmds.cpp kompatybilny z wersją1.5.0-beta jest w wątku
http://www.tt-forums.net/viewtopic.php?f...&p=1139434
Nie mam niestety możliwości skompilowania wersji pod windows.

Pomysł z wczytywaniem obiektów z pliku tekstowego został doceniony na angielskim forum openttd
i jeden z tamtejszych użytkowników stworzył dodatkowe narzędzie:
http://ade.se/ttd/scenario-import-tool/
umożliwiające dwie rzeczy -
1. import miast z GeoNames i eksport do formatu tekstowego wczytywanego przez mój patch
2. import rzek/jezior z bitmapy (niebieska woda na czarnym tle) i eksport j.w.
#17
W załączeniu nowa wersja console_cmds.cpp oraz pliki potrzebne do stworzenia mapy Polski 2048x2048:
http://149.156.194.203/~mczapkie/Train/T...pl2048.zip

O tym, jak wygenerować mape Polski napiszę w innym temacie, tu tylko nadmienię, że doszła nowa komenda
Kod:
industry_list
która wyświetla w konsoli wszystkie identyfikatory i nazwy wybranego w ustawieniach newgrf lub generacji mapy przemysłu.

Te indentyfikatory sa potrzebne, aby prawidłowo zdefiniować przemysł importowany z plików tekstowych (lub tworzony przez skrypt TileLabel-IndustryBuilder).
Dla standardowego przemysłu te identyfikatory są niezmienne i zdefiniowane tu:
http://newgrf-specs.tt-wiki.net/wiki/Ind...faultProps (w formie szesnastkowej),
ale dla niestandardowego przemysłu numery te są nieznane i komenda industry_list pozwala je poznać.

Przypominam, że aby to wszystko działało, trzeba sobie skompilować openttd po podmianie console_cmds.cpp na moją.
(Niestety nie mam mozliwości skompilowania pod Windows, proszę o pomoc w tym względzie).
Działa z 256 poziomami wysokości, z wersją 1.5.0beta (sprawdzone) lub wyższą (nie testowane).

Mapa w ten sposób stworzona nie potrzebuje zmodyfikowanej wersji openttd, działa na innych (1.5.0 lub wyższych), modyfikacji ulega tylko edytor scenariuszy.
#18
Czy mógłbyś również napisać z jakich stron/narzędzi korzystałeś przy generowaniu mapy wysokości?
#19
(04-04-2015, 16:20)Rysh napisał(a): Czy mógłbyś również napisać z jakich stron/narzędzi korzystałeś przy generowaniu mapy wysokości?

Ja generowałem mapę wysokości na podstawie instrukcji w tym wątku:
http://www.tt-forums.net/viewtopic.php?t=27052

Ale zamiast Google Earth + pluginu można skorzystać z tej strony:
http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp

Pobrane pliki trzeba zaimportować do programu Microdem, dobrać odpowiednią skalę szarości. Następnie w GIMPie dostosować kontrast mapy do OpenTTD.
#20
A mógłby ktoś to prosto objaśnić dla osoby, która nie umie programować a chciała by zrobić sobie taką mapkę z rzekami i miastami? 
Czy mogę zrobić z tego większą mapkę np. 4096x4096 i czy mapa wysokościowa musi być wykadrowana?


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości