Format SBT: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
Strona w budowie, autor artykułu zapisuje tutaj swoje notatki z odkrywania tajemnic formatu sbt. W późniejszym czasie artykuł zostanie przeredagowany do bardziej przyjaznej formy. | Strona w budowie, autor artykułu zapisuje tutaj swoje notatki z odkrywania tajemnic formatu sbt. W późniejszym czasie artykuł zostanie przeredagowany do bardziej przyjaznej formy. | ||
− | Plik SBT (Scenery Binary Terrain) jest plikiem binarnym zawierającym dane terenu. | + | 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 doładowywanie. |
+ | |||
+ | Plik tworzony jest podczas wczytywania scenerii. 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. | ||
cytat: tmj, 03.05.2021 | cytat: tmj, 03.05.2021 |
Wersja z 06:42, 31 maj 2022
Strona w budowie, autor artykułu zapisuje tutaj swoje notatki z odkrywania tajemnic formatu sbt. W późniejszym czasie artykuł zostanie przeredagowany do bardziej przyjaznej formy.
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 doładowywanie.
Plik tworzony jest podczas wczytywania scenerii. 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.
cytat: tmj, 03.05.2021 teraz jest dedyk dla kazdego scenariusza bo nie ma sensownego sposobu na rozpoznanie ktore scenariusze korzystaja z takiego samego terenu i otoczenia ale docelowo myslalem ze scenariusz bedzie mial raczej postac plik_eventow + plik_terenu i wtedy jeden sbt spokojnie moze byc wspoldzielony przez dowolna ilosc scenariuszy
Na początku pliku znajduje się nagłówek EU07SBTx, gdzie x jest numerem wersji formatu. Zaraz za nagłówkiem znajduje się 4 bajtowa liczba określająca ilość sekcji zapisanych w pliku.
Sekcja (section)
Sekcje zapisane są jedna za drugą, a każda z nich zaczyna się od:
1. Indeksu sekcji (unsigned int, 4 bajty)
2. Rozmiaru sekcji (unsigned int, 4 bajty)
3. Ilości shape'ów w sekcji (unsigned int, 4 bajty)
Po tych danych zapisane są dane shape'ów. Za shape'ami zapisane są dane komórek.
Komórka (cell)
Komórki zapisane są jedna za drugą, a każda z nich zaczyna się od:
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