Format SBT: Różnice pomiędzy wersjami
(→Sekcja (section)) |
(→Format pliku) |
||
Linia 61: | Linia 61: | ||
|} | |} | ||
− | Po nagłówku znajduje się blok zawierający dane geometrii, a za nim - blok zawierający dane komórek. | + | Po nagłówku znajduje się blok zawierający dane geometrii, a za nim - blok zawierający dane komórek. W jednej sekcji występuje 16 komórek. |
=== Komórka (cell) === | === Komórka (cell) === | ||
+ | Komórka jest kwadratowym obszarem o długości boku równej 250m, dzielącym sekcję na 16 mniejszych elementów. | ||
− | + | Nagłówek komórki zawiera: | |
− | + | {| class="wikitable" | |
+ | ! Rozmiar i typ danych | ||
+ | ! Opis | ||
+ | |- | ||
+ | | 4 (1x unsigned int) | ||
+ | | Indeks sekcji | ||
+ | |- | ||
+ | | 4 (1x unsigned int) | ||
+ | | Rozmiar sekcji w bajtach | ||
+ | |- | ||
+ | | 24 (3x double) | ||
+ | | Środek bounding boxa | ||
+ | |- | ||
+ | | 4 (1x unsigned int) | ||
+ | | Promień bounding boxa | ||
+ | |- | ||
+ | | 4 (1x unsigned int) | ||
+ | | Ilość shape'ów w sekcji | ||
+ | |} | ||
1. Centrum bounding boxa (3 liczby double) | 1. Centrum bounding boxa (3 liczby double) | ||
Wersja z 08:33, 31 maj 2022
Spis treści
Informacje ogólne
Plik SBT (Scenery Binary Terrain) jest plikiem binarnym zawierającym dane terenu. Dane te są podzielone na sekcje, co w zamyśle ma umożliwić szybsze wczytywanie scenerii i jej dynamiczne ładowanie bez potrzeby wczytywania całej scenerii do pamięci, jak to ma miejsce w przypadku plików tekstowych.
Plik tworzony jest podczas wczytywania scenariusza. Wszystkie trójkąty terenu oraz linie z plików tekstowych (SCN, SCM, INC) są w ramach sekcji łączone w większe grupy siatek i w tej formie zapisywane do pliku SBT. Późniejsze ładowanie tego samego scenariusza będzie już używało danych z pliku SBT, a co za tym idzie - wczytywanie będzie dużo szybsze.
Ponieważ nie istnieje sposób na rozpoznanie, które scenariusze korzystają z takiego samego terenu i otoczenia, plik SBT tworzony jest osobno dla każdego scenariusza.
Generowanie plików SBT można wyłączyć wpisem w eu07.ini
file.binary.terrain no
Format pliku
Na początku pliku znajduje się nagłówek pliku.
Rozmiar i typ danych | Opis |
---|---|
4 (4x char) | Nagłówek pliku - ciąg znaków "EU07" |
Region
W obecnej wersji formatu występuje tylko jeden region. Region grupuje sekcje. W ramach jednego regionu mieści się 500x500 sekcji.
Rozmiar i typ danych | Opis |
---|---|
3 (3x string) | Nagłówek regionu - ciąg znaków "SBT" |
4 (1x unsigned int) | Numer wersji formatu (wersji pliku?). Aktualnie exe na stałe wpisuje liczbę 1. |
4 (1x unsigned int) | Liczba sekcji w regionie |
Sekcja (section)
Sekcje są podstawową jednostką podziału scenerii na fragmenty. Sekcja jest kwadratem o długości boku równej 1000m i jest podzielna na komórki.
Nagłówek sekcji zawiera następujące dane:
Rozmiar i typ danych | Opis |
---|---|
4 (1x unsigned int) | Indeks sekcji |
4 (1x unsigned int) | Rozmiar sekcji w bajtach |
24 (3x double) | Środek bounding boxa |
4 (1x unsigned int) | Promień bounding boxa |
4 (1x unsigned int) | Ilość shape'ów w sekcji |
Po nagłówku znajduje się blok zawierający dane geometrii, a za nim - blok zawierający dane komórek. W jednej sekcji występuje 16 komórek.
Komórka (cell)
Komórka jest kwadratowym obszarem o długości boku równej 250m, dzielącym sekcję na 16 mniejszych elementów.
Nagłówek komórki zawiera:
Rozmiar i typ danych | Opis |
---|---|
4 (1x unsigned int) | Indeks sekcji |
4 (1x unsigned int) | Rozmiar sekcji w bajtach |
24 (3x double) | Środek bounding boxa |
4 (1x unsigned int) | Promień bounding boxa |
4 (1x unsigned int) | Ilość shape'ów w sekcji |
1. Centrum bounding boxa (3 liczby double)
2. Promienia bounding boxa (float, 4 bajty)
3. Ilości nieprzezroczystych shape'ów w komórce (unsigned int, 4 bajty)
Tutaj zapisane są dane shape'ów.
4. Ilości przezroczystych shape'ów w komórce (unsigned int, 4 bajty)
Tutaj zapisane są dane shape'ów.
5. Ilości lines w komórce (unsigned int, 4 bajty)
Tutaj zapisane są dane shape'ów