Wprowadzenie zapisu stanu gry spowoduje taką zmianę podejścia, jak gdzie indziej. Gdzie się możliwości zapisu ogranicza. Teraz jak rozprujesz rozjazd to koniec a tak to się będziesz sejwować i odtwarzać stan gry z sejwa.
To już w gestii użytkownika leży co będzie robił z save'ami.
Co do samego systemu, postanowiłem pójść nieco dalej i w teori wytłumaczyć, jak system zapisu mógłby wyglądać. Koncepcję zostawiam do omówienia.
1. Gdzie i jak będą przechowywane save'y? W plikach *.sav, w folderze scenery/ albo saves/. Nazwa pliku wpisywana przez użytkownika przy zapisywaniu.
2. Co będzie zawierał plik save?
- Nazwę scenerii, aby móc ją ponownie załadować przy uruchamianiu save. Wpisy takie jak trainset, czy movelight, będą ignorowane.
- Czas, czyli godziny, minuty, sekundy, movelight.
- Stany poszczególnych memcelli, eventy w kolejce, czas pozostały do ich wykonania. Tutaj przy okazji również stany semaforów, izolacji, zwrotnic (memcelle poszczególnych inc-ów). Wartości zmiennych w Lua.
- Składy, czyli w zasadzie trainsety, wraz z zapisaną fizyką (wartościami). Niepotrzebne wyliczane wartości, np. natężenie itd, chyba najważniejsze są stany przełączników.
- Nazwa pojazdu w którym siedzimy.